zonyitoo / doubanfm-qt

A DoubanFM client
Other
511 stars 99 forks source link

修改图标和按钮样式 #46

Closed guoyunhe closed 8 years ago

guoyunhe commented 8 years ago

使用的 Ionicons 图标集,SVG 矢量图形。默认图标是 60% 灰,鼠标悬停时为 70% 灰。

把QToolButton改成了QPushButton,图片使用 icon 属性而不是 border-image 样式。有些原因:

好像在我电脑上编译不成功,没有完整测试过……只是用 Qt Designer 预览了一下。

spectacle h30267

zonyitoo commented 8 years ago

编译不成功?

guoyunhe commented 8 years ago

make 的时候出现这个问题,不知道是缺少啥库?

g++ -c -pipe -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIC -DWITH_SYSTEM_TRAY_ICON -DLINUX -DWITH_MPRIS_PLUGIN -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -I. -I. -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtMultimedia -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtCore -Irelease_tmp/moc -Irelease_tmp/ui -I/usr/lib64/qt5/mkspecs/linux-g++ -o release_tmp/obj/main.o main.cpp
In file included from lyricwidget.h:8:0,
                 from mainwidget.h:9,
                 from main.cpp:1:
release_tmp/ui/ui_lyricwidget.h: In member function ‘void Ui_LyricWidget::retranslateUi(QWidget*)’:
release_tmp/ui/ui_lyricwidget.h:62:87: error: ‘UnicodeUTF8’ is not a member of ‘QApplication’
         LyricWidget->setWindowTitle(QApplication::translate("LyricWidget", "Form", 0, QApplication::UnicodeUTF8));
                                                                                       ^
main.cpp: In function ‘int main(int, char**)’:
main.cpp:42:7: error: ‘class QApplication’ has no member named ‘setApplicationDisplayName’
     a.setApplicationDisplayName("QDoubanFM");
       ^
Makefile:698: recipe for target 'release_tmp/obj/main.o' failed
make: *** [release_tmp/obj/main.o] Error 1
zonyitoo commented 8 years ago

这看起来应该跟你的这个PR无关,这些函数应该是Qt4的,可能Qt5最新版移除了

zonyitoo commented 8 years ago

Channels这个图是不是有问题,OS X 10.11.4, Qt 5.6.0,右边的角不见了

5efba921-cfe3-4456-98e7-0120763b2bfa

另外,你的make输出里面,说 ui_lyricwidget.h 生成的代码有问题,你是不是在本地装了多个Qt版本。ui_* 文件是编译的时候生成的。

guoyunhe commented 8 years ago

Channels 这个图不知道诶,我好像没编辑它?

我装了 Qt4 和 Qt5,编译的时候用的是这个命令:

lupdate doubanfm-qt.pro
qmake-qt5 doubanfm-qt.pro
make

不大懂 Qt 编译。

zonyitoo commented 8 years ago

你把本地的 ui_*moc_* 文件都干掉吧,或者 make clean 应该有用?

guoyunhe commented 8 years ago

编译成功了!用着好像没有啥问题。

spectacle x17944

zonyitoo commented 8 years ago

Hmm.. Alright. 看来 OS X 上又出兼容Bug了。 另外,关于Channels的trigger逻辑,你有兴趣的话可以改一下啰。关键的文件是:

controlpanel.ui 里面定义了那个按钮,它跟下面的 Lyric 是不一样的,Lyric 是个 QButton ,但 Channels 是我自己定义的一个 trigger。把它换成像 Lyric 一样就可以实现点击展开。

guoyunhe commented 8 years ago

好的。我写完作业去弄……感觉学到了不少Qt知识。多谢。

在我电脑上貌似只能显示英文,我看到有翻译文件,是还没启用吗?

zonyitoo commented 8 years ago

从不知道哪个版本开始,它就坏了。