Qt樣式表 5 使用樣式表設定按鈕的外觀

2021-08-29 10:29:47 字數 2330 閱讀 2471

若對c++語法不熟悉,建議參閱本人所著《c++語法詳解》一書,電子工業出版社出版,該書語法示例短小精悍,對查閱c++知識點相當方便,並對語法原理進行了透徹、深入詳細的講解,可確保讀者徹底弄懂c++的原理,徹底解惑c++,使其知其然更知其所以然。此書是一本全面了解c++不可多得的案頭必備圖書。

13.10.1 基本規則

子控制項使用subcontrol-position和subcontrol-origin屬性來確定在父級中的位置。

另外需要注意偽狀態的情形,比如對於垂直滾動條將一直處於:vertical偽狀態,因此對垂直滾動條樣式表的設定都需要指定:vertical偽狀態。

部件的渲染順序:部件被視為彼此疊加的子控制項的層次結構,比如,qcombobox的向下箭頭子控制項的父級是下拉子控制項,下拉子控制項的父級是qcombobox部件本身,因此,qcombobox先繪製下拉子控制項,然後是向下箭頭子控制項。繪製qcombobox樣式表的順序如下:

 渲染qcombobox,即qcombobox

 渲染下拉子控制項,即qcombobox::drop-down

 渲染向下箭頭,即qcombobox::drop-arrow

13.10.2 設定各部件樣式表的方法

注:以下僅列了部件部分支援的屬性、偽狀態、子控制項

1、按鈕相關

示例13.20:qpushbutton和qcheckbox(效果見圖13-35、圖13-36、圖13-37)

qwidget w;

qpushbutton *pb=new qpushbutton("aaa",&w); pb->move(20,20); pb->resize(200,90);

qpushbutton *pb1=new qpushbutton("bbb",&w); pb1->move(230,20);

//為按鈕pb新增選單

qmenu *pm=new qmenu("aaa"); pm->addaction("111"); pm->addaction("222"); pb->setmenu(pm);

//把pb和pb1設定為自動預設按鈕

pb->setautodefault(true); pb1->setautodefault(true);

//注意:pbx不是自動預設按鈕

qpushbutton *pbx=new qpushbutton("ddd",&w); pbx->move(310,20);

qcheckbox *pb2=new qcheckbox("ccc",&w); pb2->move(20,120); pb2->resize(200,90);

aa.setstylesheet(

"qpushbutton:default " //預設按鈕的背景色為紅色

"qpushbutton:open " //選中按鈕時的背景色為黃色

"qpushbutton::menu-indicator " //設定子控制項的大小

"qcheckbox" //設定文字和複選指示器之間的距離為55畫素

//設定複選指示器的背景顏色(紅色)及大小

"qcheckbox::indicator"

//設定複選指示器處於選中狀態時的背景色為綠色

示例13.21:qspinbox(效果見圖13-38)

qwidget w;

qspinbox *pb3=new qspinbox(&w); pb3->move(20,20); pb3->resize(200,90);

aa.setstylesheet(

"qspinbox::up-button " //子控制項大小

"qspinbox::up-arrow "

"qspinbox::down-button " //向下按鈕

"qspinbox::down-arrow " //向下箭頭

Qt樣式表使用總結1,常用樣式表設定方法

qt中給窗體或控制項新增樣式表的方法,大體有以下幾種 1,在ui設計器即qt designer內新增,右鍵控制項 改變樣式表 或直接在屬性內輸入 3,專案中,一般將樣式表內容寫到文字檔案,程式啟動時再通過方法2載入 這樣方便管理,調整樣式也不用重新編譯,還避免在 中書寫過長字串。該方法的好處是可以在...

Qt樣式表的使用

qt中可以靈活的使用層疊樣式表 css 其語法和css很相似。因為html css的靈活性,所以可以很方便的為qt介面設計自己需要的外觀。除了子類化style類,使用qt樣式表 qstylesheet 是另一種快速改變qt程式ui風格的方法,它很大程度上借鑑和參考了 html層疊樣式表的語法和思想。...

Qt樣式表的使用

在qt中,美化gui介面最主要用到了樣式表。具體情況大家可以在網上找一些相關資料了解一下。現在本人主要講qt中樣式表的基本用法 首先給大家看一段基本 callwidget qlineedit teledt qmainwindow,qdialog qwidget qlabel qtreewidget ...