Qt小技巧7.Qt4集成fusion风格


1 Qt4和Qt5支持的风格

由于公司有些老项目使用的是Qt4进行开发的,所以有些Qt5的特性是不具备的,例如fusion风格,分别打印下Qt4和Qt5支持的风格:

qDebug() << QStyleFactory::keys();

qt4:
("Windows", "WindowsXP", "WindowsVista", "Motif", "CDE", "Plastique", "Cleanlooks")
qt5:
("Windows", "WindowsXP", "WindowsVista", "Fusion")
由截图可以看出fusion风格更加简洁优美,Qt4如果想用的话需要手动编译插件。

2 插件编译

首先下载源码:fusion-qt4
直接编译是不行的,会报链接错误,我这里的环境是Qt4.8.6+vs2010,对fusion.pro文件进行如下增改:

修改:QTSRC = d:/Qt/4.8.6/src(这里根据自己的路径修改)
增加:CONFIG += build_all(同时编译debug和release版本)                  
修改:win32: LIBS += -lgdi32 -luser32(引入库)

编译完成后自动生成dll插件,如下图:

到此,集成就搞定了,可以使用了,再打印下支持的风格:
("fusion", "Windows", "WindowsXP", "WindowsVista", "Motif", "CDE", "Plastique", "Cleanlooks")
可见,Qt4现在能够使用fusion风格了。

3 程序打包

打包的时候不要忘了将D:\Qt\4.8.6\plugins\styles目录复制到可执行文件同级目录下:

这样fusion风格才能生效,如果是release发布版,styles目录只保留fusion.dll即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章