1. 程式人生 > 實用技巧 >qt-簡單的使用 QStyle 類

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