qt-简单的使用 QStyle 类

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();
}
复制代码

 

 

 

 

 

posted @   天子骄龙  阅读(1528)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示

目录导航