自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

實(shí)現(xiàn) Qt 統(tǒng)一風(fēng)格與換膚實(shí)例

移動開發(fā)
本文介紹的是實(shí)現(xiàn) Qt 統(tǒng)一風(fēng)格與換膚實(shí)例,QT既然作為一個成功的跨平臺GUI庫,當(dāng)然會想到界面風(fēng)格統(tǒng)一,先來看內(nèi)容。

實(shí)現(xiàn) Qt 統(tǒng)一風(fēng)格與換膚實(shí)例是本文介紹的內(nèi)容,不多說,進(jìn)圖內(nèi)容。QT既然作為一個成功的跨平臺GUI庫,當(dāng)然會想到界面風(fēng)格統(tǒng)一,本地化與換膚都做了考慮,網(wǎng)上有多種換膚的方法,自己也習(xí)慣于用簡單的方法,總結(jié)了一下自己心得,與大家分享

一、改變與裝飾界面:

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

1、改變被景圖片

較常用辦法是

  1. QWidget.setAutoFillBackground(true);  
  2.  QPalette paletteQWidget.Palette();  
  3.  QPixmap pic("xxx.png"); palette.setBrush(QPalette::Window, new Brush(pic));  
  4. palette.setBrush(QPalette::Base, new Brush(pic));  
  5. palette.setBrush(QPalette::Button, new Brush(pic));   
  6. QWidget.setPalette(palette);    

但不同的控件還是要區(qū)別對待,比如對待QPushButton簡單用此方法就不行,還要設(shè)置為QPushButton.setFlat(true),也可以用QPushButton的setImage方法,還有對待 QTabWidget不僅要改變背景圖片,還要改變Tab的圖片,Tab還要區(qū)別改變被選中的Tab與沒被選中的Tab圖片,QTreeWidget,QTreeView中還要針對樹裝結(jié)節(jié)的圖片,還有標(biāo)題欄等,都要用不同的方法來設(shè)置,QT有一種更方便的解決方案,就是設(shè)置StyleSheet被稱為QSS方法,類似網(wǎng)頁設(shè)計中的CSS, 語法也幾乎相同Idential,比如要設(shè)置QPushButton的背景圖,鼠標(biāo)over,及按下的圖片切換,可以用如下方法:

  1. const char* normal   = “bg.png";  
  2. const char* pressed  =  "pressed.png;  
  3. const char* over     =    "over.png";  
  4. char str[512] = {0};  
  5. sprintf(str,"QPushButton{background-image:url(%s);border-style.:flat;} QPushButton:hover:pressed{background-image:url(%s);border-   
  6.                  style.:flat;}QPushButton:hover:!pressed{background-image:url(%s);border-style.:flat;}",  normal, pressed, over);  
  7. w->setStyleSheet(QString(str)); 

2、改變顏色:
  
常用:QWidget->setBackgroundColor();來改變,當(dāng)然也可以用Style. Sheet方法。
   
二、全局統(tǒng)一風(fēng)格:

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

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

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

三、簡單介紹QSS:

google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);

小結(jié):實(shí)現(xiàn) Qt 統(tǒng)一風(fēng)格與換膚的內(nèi)容實(shí)例的內(nèi)容介紹完了,希望本文對你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-21 09:33:49

Qt 啟動 界面

2021-12-08 10:13:17

實(shí)踐設(shè)計風(fēng)格

2015-02-09 15:25:52

換膚

2011-07-28 18:17:31

Cocoa 界面 WebKit

2011-06-21 15:11:04

QT 數(shù)據(jù)庫

2011-06-22 17:36:50

QT Linux 串口

2011-06-24 16:09:24

Qt 動畫 狀態(tài)機(jī)

2021-10-26 16:09:26

Windows 11操作系統(tǒng)微軟

2023-11-28 14:32:04

2011-06-13 09:04:39

QT Flash 交互

2011-06-29 16:50:17

Qt 顯示寬字符

2011-06-21 09:19:24

Qt 界面 多國語言

2010-05-23 23:22:25

思科統(tǒng)一通信

2011-07-05 14:23:07

QT MySQL 驅(qū)動

2011-06-27 15:57:21

Qt 3D OpenGL

2011-06-29 11:22:06

Qt Windows 入口函數(shù)

2019-11-20 09:25:03

Visual Stud編程語言

2011-07-05 14:46:34

2011-06-27 16:07:49

Qt Designer

2024-09-25 08:10:00

Spring后端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號