<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Qt 簡(jiǎn)單的風(fēng)格統一與換膚

Qt 簡(jiǎn)單的風(fēng)格統一與換膚

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

QT既然作為一個(gè)成功的跨平臺GUI庫,當然會(huì )想到界面風(fēng)格統一,本地化與換膚都做了考慮,網(wǎng)上有多種換膚的方法,自己也習慣于用簡(jiǎn)單的方法,總結了一下自己心得,與大家分享

本文引用地址:http://dyxdggzs.com/article/201609/303387.htm

一,改變與裝飾界面:

通常使用設置Widget的背景,邊界,子對象的圖片,顏色來(lái)進(jìn)行裝飾QWidget,

1,改變被景圖片:

較常用辦法是 QWidget.setAutoFillBackground(true); QPalette palette= QWidget.Palette(); QPixmap pic(xxx.png); palette.setBrush(QPalette::Window, new Brush(pic));palette.setBrush(QPalette::Base, new Brush(pic));palette.setBrush(QPalette::Button, new Brush(pic)); QWidget.setPalette(palette);

但不同的控件還是要區別對待,比如對待QPushButton簡(jiǎn)單用此方法就不行,還要設置為QPushButton.setFlat(true),也可以用QPushButton的setImage方法,還有對待 QTabWidget不僅要改變背景圖片,還要改變Tab的圖片,Tab還要區別改變被選中的Tab與沒(méi)被選中的Tab圖片,QTreeWidget,QTreeView中還要針對樹(shù)裝結節的圖片,還有標題欄等,都要用不同的方法來(lái)設置,QT有一種更方便的解決方案,就是設置StyleSheet

被稱(chēng)為QSS方法,類(lèi)似網(wǎng)頁(yè)設計中的CSS, 語(yǔ)法也幾乎相同Idential,比如要設置QPushButton的背景圖,鼠標over,及按下的圖片切換,可以用如下方法:

const char* normal = “bg.png;

const char* pressed = pressed.png;

const char* over = over.png;

char str[512] = {0};

sprintf(str,QPushButton{background-image:url(%s);border-style.:flat;} QPushButton:hover:pressed{background-image:url(%s);border-

style.:flat;}QPushButton:hover:!pressed{background-image:url(%s);border-style.:flat;}, normal, pressed, over);

w->setStyleSheet(QString(str));

2,改變顏色:

常用:QWidget->setBackgroundColor();來(lái)改變,當然也可以用Style. Sheet方法。

二,全局統一風(fēng)格:

上面提到了QSS,QT還可以通過(guò)設置QApplication的StyleSheet來(lái)改變程序中所有控件的風(fēng)格。比如:

QApplication.setStyleSheet(QString(QPushButton{background-image:url(bg.png); border-style.:flat;})); 這樣的話(huà),所有QPushButton的實(shí)例對象的背景圖片缺省情況下都是bg.png,當然,如果你重新設置某個(gè)QPushButton實(shí)例對象的 StyleSheet,那個(gè)實(shí)例對象的風(fēng)格以當前設置的為準。

這樣對界面的風(fēng)格統一提供了一個(gè)簡(jiǎn)單有效的解決方案。



關(guān)鍵詞: Qt

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>