QStyle 类继承自 QObject Qt 内置了一系列样式,windows 样式和 fusion 样式默认是可用的,而有些样式需在特定平台上才有用,比如 windowsxp 样式、windowsvisata 样式、gtk 样式、macintosh 样式等
使用 QStyle 的步骤
①、使用 QStyleFactory::create()静态函数创建一个 QStyle 对象。 ②、然后使用以下函数把样式设置到部件或程序中 使用 QWidget::setStyle()函数为某个单个的部件设置样式。 使用 QApplication::setStyle()静态函数来设置整个程序的样式。 还可由应用程序的用户使用-style 命令行选项指定样式,比如 xxx -style windows //使用 windows 样式
实例:
win.cpp
#include "win.h"
#include <QStyleFactory>
#include <QDebug>
Win::Win(QWidget *parent)
: QWidget(parent)
{
QPushButton *pb1=new QPushButton("AAA",this);
pb1->move(22,22);
QPushButton *pb2=new QPushButton("BBB",this);
pb2->move(111,22);
QPushButton *pb3=new QPushButton("CCC",this);
pb3->move(222,22);
QStyle * style=QStyleFactory::create("Fusion"); //创建样式对象
//需要 #include <QStyleFactory>
//参数:内置样式和样式插件中的样式,如果找不到匹配的样式,则返回nullptr,不区分大小写;可用的参数可以有QStyleFactory::keys()返回
//静态函数
QStringList list=QStyleFactory::keys(); //返回内置样式列表
//("windowsvista", "Windows", "Fusion")
//静态函数
pb1->setStyle(style); //仅按钮 pb1 使用系统内置的fusion 样式
qDebug()<<style;
}
Win::~Win()
{
}
main.cpp
#include "win.h"
#include <QStyleFactory>
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setStyle(QStyleFactory::create("windows")); //整个程序使用系统内置的 windows 样式
Win w;
w.show();
return a.exec();
}
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓