• 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();
    }

  • 相关阅读:
    对JAVA集合进行遍历删除时务必要用迭代器
    设计模式之单例模式(线程安全)
    List、Set、Map 和 Queue 之间的区别
    HashMap和Hashtable的区别
    Java WeakReference的理解与使用
    Java 理论与实践: 正确使用 Volatile 变量
    java中volatile关键字的含义
    最近5年183个Java面试问题列表及答案[最全]
    淘宝一月上钻是这样操作的
    Revit API找到风管穿过的墙(当前文档和链接文档)
  • 原文地址:https://www.cnblogs.com/liming19680104/p/13922823.html
Copyright © 2020-2023  润新知