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

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM