QStyle 新风格的实现

摸索了很久,实际实现才发现很简单。

利用qt助手搜style可以发现style的实现和qapplication有关,在Qapplication里面搜到函数:

void QApplication::setStyle(QStyle *style)

接下来的问题就很简单了。注意到里面有一个example:

QApplication::setStyle(new QWindowsStyle);

只要把这句话加到main函数里面就可以使用新的风格了。当然为了使用对应的风格需要在头文件中包含进去。比如想要使用motifstlye需要在头文件中包含:

#include <QMotifStyle>

然后在main函数中添加:

QApplication::setStyle(new QMotifStyle());

即可使用。位置无所谓。

至于各种风格的效果,可以在qt助手里面搜索gallery即可看到不同效果,个人推荐vista,很漂亮。然而很遗憾,在qt助手里有一句warning:This style is only available on the Windows XP platform because it makes use of Windows XP‘s style engine.与此类似,vista风格也不能使用。估计其他一些mac之类的也不能用。

另外,可以直接输入字符串来进行风格变化,且在这种时候不需要包含头文件。如:

QApplication::setStyle("cleanlooks");即可

时间: 2024-10-23 23:12:01

QStyle 新风格的实现的相关文章

用QT创建新风格: QStyle

转贴: http://hi.baidu.com/yjj2008/blog/item/6cd4a1892ef0d4b60f2444a5.html 本文介绍了如何使用qt提供的接口来设计自己的GUI风格(look and feel),并通过一个具体的例子(使QSpinBox垂直显示)来详细说明过程.运行环境:redhat 9.0,qt-x11-free-3 1.Qt的风格 a) Qt简介 Qt是一个跨平台的C++图形用户界面应用程序开发库,使用Qt可以开发出高质量的图形用户接口,它是完全面向对象的.

QStyle

转贴: http://hi.baidu.com/yjj2008/blog/item/6cd4a1892ef0d4b60f2444a5.html 本文介绍了如何使用qt提供的接口来设计自己的GUI风格(look and feel),并通过一个具体的例子(使QSpinBox垂直显示)来详细说明过程.运行环境:redhat 9.0,qt-x11-free-3 1.Qt的风格 a) Qt简介 Qt是一个跨平台的C++图形用户界面应用程序开发库,使用Qt可以开发出高质量的图形用户接口,它是完全面向对象的.

自定义QT窗口部件外观之QStyle

自定义QT窗口部件外观 重新定义Qt内置窗口部件的外观常用的方法有两种:一是通过子类化QStyle 类或者预定义的一个样式,例如QWindowStyle,来定制应用程序的观感:二是使用Qt样式表. QStyle 类的使用 1.      准备必要的背景图片.在你想添加自定义风格的工程目录下新建一个文件夹“images”,将背景图片等放入文件夹“images”. 2.      点击Qt Creator的“文件”->“新建文件或工程”->模板选择“Qt”,再选择Qt资源文件->点击“选择”

QWidget可以设置QStyle,它可以绘制很多东西(具体内容没研究,待续)

QStyle * QWidget::style() const See also QWidget::setStyle(), QApplication::setStyle(), and QApplication::style(). 它可以绘制很多东西,比如设置背景色: void CustomWidget::paintEvent(QPaintEvent *event) { Q_UNUSED(event); QStyleOption opt; opt.init(this); QPainter p(th

QT界面 理解QStyle和QStyleOption以及QStyleFactory

QStyleOption类和QStyle类简介 QStyleOption类存储QStyle函数使用的参数.QStyleOption及其子类包含了QStyle函数绘制图形元素所需的所有信息. 由于性能原因,成员函数很少,并且对成员变量的访问是直接的(即.,使用.或- >操作符).这种低级的感觉使结构易于使用,并强调这些只是样式函数使用的参数. QStyle函数的调用者通常在堆栈上创建QStyleOption对象.结合Qt对QString.QPalette和QColor等类型的隐式共享的广泛使用,可

继承QWidget的派生类控件不能设置QSS问题解决(style()-&gt;drawPrimitive(QStyle::PE_Widget)

自定义控件时基类用了QWidget,发现qss设置不起作用,需要重载其paintEvent函数即可: 如下代码: void CCustomWidget::paintEvent(QPaintEvent*) { QStyleOption opt; opt.init(this); QPainter p(this); style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); } https://blog.csdn.net/lanhy

将vim作为QT开发的IDE

转载请注明链接与作者huihui1988 用了一段时间的vim,喜欢上了这种简洁高效的编辑器.恰逢正在学习QT中,于是将vim变成了开发QT的工具.以下是具体配置. 一.语法高亮支持: 1.打开VIMDIR/vim72/syntax/cpp.vim,加入 syn keyword cppStatement SLOT,SIGNAL syn keyword cppAccess slots,signals 2.增加QT的类型名: syn keyword cType ActiveQt Q3Accel Q3

通过Qt4.2样式表定制程序外观

通过Qt4.2样式表定制程序外观 1. 何为Qt样式表2. 样式表语法基础3. 方箱模型4. 前景与背景5. 创建可缩放样式6. 控制大小7. 处理伪状态8. 使用子部件定义微观样式 8.1. 相对定位    8.2. 绝对定位 摘要 由于Qt样式表的引入,定制Qt部件的外观样式变得非常简单. 无论你是想仅仅修改一个现有部件的外观,还是想从零开始设计一套全新的界面风格, 现在都有了一种新的方法而不必再去继承并实现一个QStyle的子类. 1. 何为Qt样式表 Qt 样式表的思想很大程度上是来自于

关于QT的系统总结(非常全面,非常好)

源地址:http://www.cnblogs.com/wangqiguo/p/4625611.html 阅读目录 编译环境与开发流程 QT项目的构成及原理 QT中的布局 QT中的通用控件 QVariant 类型 QComboBox控件 QTableWidget控件 QTabWidget控件 QWebview控件 使用QSS 编码问题 QT的内存管理 QT的信号槽 QT中绘图 QT的线程 QT中使用第三方的dll QT中为控件添加右键菜单的方法 结束语 回到顶部 编译环境与开发流程 开发QT有两种