码迷,mamicode.com
首页 > 系统相关 > 详细

基于QT的换肤整体解决方案(QSkinStyle)(提供Linux的XP风格)

时间:2016-10-27 01:25:06      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:linu   需要   get   html   成功   状态   windowsxp   画线   yun   

 

基于QT的换肤整体解决方案(QSkinStyle)

    对QT这个成功的跨平台GUI库,本身内置了对换肤功能的实现,比如cleanlooks、plastique等跨平台风格;还有一些是和平台相关的风格,比如WindowsXP、WindowsVista风格只能用在windows平台上,底层也会调用uxtheme.dll来实现windows的风格。
    QT内置的风格(qwindowsstyle、qmotifstyle、qcdestyle等),都是针对不同的风格定义(metric、look and fell等),通过画点、画线方式来实现的,这样可以确保在不同的平台上,外观都是一致的。可以预见的是,这样的方法繁杂琐碎,需要耐心和勇气。
    比较好的方式是QStyleSheetStyle,它采用了类似CSS的方式来定义widget的外观和widget在运行时对状态的反映,简单而且高效。对于windows平台,它依然无法对宿主窗口(标题条和边框)进行换肤,除非进行特殊的处理。
    QSkinStyle是通过皮肤文件来实现QT换肤的,皮肤文件定义了widget的外观和widget在运行时对状态的反映,在不同的平台上,外观都是一致的。还有一些特殊功能:比如宿主窗口换肤,状态间切换时的动态效果,支持svg格式的皮肤图片等。


    以下是QSkinStyle在windows和Linux上运行的换肤截图。 

linux widget:

技术分享

 

windows widget:

技术分享

 

linux mdi:

技术分享

 

windows mdi:

技术分享

 

http://blog.csdn.net/slientman/article/details/5618950

http://www.qtcn.org/bbs/read.php?tid=62105

---------------------------------------------------------------------------------------------------------------------

开源版本:

http://www.cnblogs.com/feiyangqingyun/p/3915657.html

基于QT的换肤整体解决方案(QSkinStyle)(提供Linux的XP风格)

标签:linu   需要   get   html   成功   状态   windowsxp   画线   yun   

原文地址:http://www.cnblogs.com/findumars/p/6002307.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!