zoukankan      html  css  js  c++  java
  • 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:Qt4.8.6pluginsstyles目录复制到可执行文件同级目录下:

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

    © 版权声明
    文章版权归作者所有,未经允许请勿转载。【QQ交流:115124903】
    THE END
  • 相关阅读:
    Online
    C语言的原码,反码,补码
    PHP常用函数
    [javascript] npx 命令简单使用
    [javascript] vue的实例生命周期钩子函数
    curl扩展post请求http接口报错:failed creating formpost data
    [javascript] 基于elementui的后台界面开发
    [javascript] var let const声明变量的区别
    [PHP] 实现oauth下的单点登陆
    [日常] KRA与KPI 绩效考核
  • 原文地址:https://www.cnblogs.com/luoxiang/p/14335418.html
Copyright © 2011-2022 走看看