乔山办公网我们一直在努力
您的位置:乔山办公网 > office365 > <em>Qt</em>如何设置界面风格-qt office风格,QtitanRibbon开源

<em>Qt</em>如何设置界面风格-qt office风格,QtitanRibbon开源

作者:乔山办公网日期:

返回目录:office365


设置方法:

类的继承关系:

QMotifStyle:OSF(开放基金协会)开发的一个工业标准的GUI(图形zhidao用户接口);

QCDEStyle:公共桌面环境(Common Desktop Environment)的缩写,CDE是一种运行于UNIX/AIX,基于Motif部件工具箱开发的桌面环境,惠普的OpenVMS、IBM的AIX等都采用CDE作为标准的桌面环境;

QS60Style:Series 60(简称S60)界面是诺基亚Symbian系统智能手机界面;

QGtkStyle:GTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包,GNOME、XFCE等桌面环境和大部分窗口管理器都基于GTK+;

QMacStyle:苹果操作系统的界面风格;

QPlastiqueStyle:KDE桌面环境的界面风格;

QWindowsXPStyle和QWindowVistaStyle:分别是Windows XP和Windows Vista操作系统的界面风格;

示例:

在main函数中添加:

QApplication::setStyle(new QMotifStyle);



设置方法:

每个widget都可以设置风格

setStyle(QStyle style)

对QApplication设置QStyle即对所有

QApplication::setStyle(QStyleFactory::create("Fusion"));

其他widget如过没有被设置QStyle,默认使用QApplication的

QStyle主要可重写接口

绘制复杂控件

virtual void    drawComplexControl(ComplexControl control, const QStyleOptionComplex * option, QPainter * painter, const QWidget * widget = 0) const = 0

绘制一般控件

virtual void    drawControl(ControlElement element, const QStyleOption * option, QPainter * painter, const QWidget * widget = 0) const = 0

绘制最基础的控件(小箭头什么的)

virtual void    drawPrimitive(PrimitiveElement element, const QStyleOption * option, QPainter * painter, const QWidget * widget = 0) const = 0

所有这些接口的参数都类似

第一个为QStyle类中定义的枚举值,具体参考Qt文档,表示你要修改的控件类型

后面几个顾名思义好了

获得当前平台支持的原有的QStyle

也可以对每个widget定制风格

QWidget::setStyle()

修改自定义widget的显示效果

QWidget有style()接口获得当前QStyle

自定义QStyle

可以重写已有的QStyle稍微修改下

也可以继承一个,一般继承于QProxyStyle,或者QCommonStyle

将自定义的style做成插件供其他人使用

Qt style sheet qss的使用

使用.qss 文件

如果一个Qt style sheet被激活,则它会对widget的style进行封装

这是一个类似css的东e799bee5baa6e997aee7ad94e4b893e5b19e364西

子widget也会被修改

可以对整个app应用一个样式,然后对某个控件指定某个样式

这是一个优先级别最高的样式配置,会覆盖QStyle,或者说包装QStyle

QStyle和qss的区别

QStyle是可以重写画控件的,你可以重新设置画刷画线,当然也你可以只是设置背景颜色。例如,checkbox,原来是打钩的,现在改成深色

qss 改的相对表面一点,修改背景颜色 背景图片什么的

一个改骨头一个改皮

可在QtDesigner里更改样式表


这个一般人都会靠重载控件的paint函数来做.让按钮背景透明,失去按钮原来方方正正的边框然后在上面贴一个好看的按钮图片.相应按钮不同状态做不同的处理.(比如按下的时候让按钮颜色表按之类的)但是工作量,就是一个大啊.重载一两个控件还行.

Qt里面还可以用(视图,场景,模型)QGraphicsView,QGraphicsIitem.等等这一系列的类来开发不规则控件.用起来比较灵活.听说Qt Demo 就是用这个框架来开发的.

一个书上说比较好用的方法就是用QStyle来写界面的风格,不过对个人能力e799bee5baa6e4b893e5b19e331的要求还是比较搞的.搞过一两次,觉得是挺好用.比起上两个来说工作量小很多.但是要了解QStyle的用法....老实说这个东西实在很难.

另外你还可以用qss来搞.一种Qt中使用的css,虽然官方一直说是参考css搞出来的东西.但我怎么看都是一个样....

用代码搞了那么久的Qt界面美化.一直到qml出现了.我爱死他了.如果你一定要搞的话我建议你用qml来搞.那就是一个给力.就是有一点,现在qml的资料少得可怜...

最后.如果你是初学者的话最好不要去硬搞界面美化这一块....很伤的...到后面你会慢慢明白搞界面美化不是一个人可以做的事.你至少需要一个美工吧....呵呵呵呵....上述一切均为个人意见.仅供参考.....

在Qt目录Bin文件夹内有个叫做Qt Designer的软件,你打开便知

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网