本文只介紹如何設定引數,不講解有哪些屬性引數。
qss通過/*selector:declaration*/設定其屬性引數等
我們在本地建立乙個qss檔案,然後在**中載入即可
1、簡單的qss語法
/*設定qwidget且obejectname為testwidget的屬性*/
qwidget#testwidget
/* cpp中的語句
qwidget* pwidget = new qwidget;
pwidget->setobjectname("testwidget");
/*所有qpushbutton及它的子類生效*/
qpushbutton
/*只對qpushbutton生效,對其子類不生效*/
.qpushbutton
/* cpp中的**
qpushbutton* p3 = new cpushbuttonsub("subbutton", this);
cpushbuttonsub是自己寫的乙個繼承自qpushbutton的類,qt判斷是否是子類還需要加上q_object巨集,qt使用的不是c++的執行時多型
p3是不會有上面.qpushbutton的屬性的,但是會使用前面乙個qpushbutton的屬性的
*//*對objectname=testbtn並且有乙個屬性testproperty=true生效*/
/*此處使用testproperty="true"或則testproperty=true都可以*/
qpushbutton#testbtn[testproperty="true"]
cpp**示例
qpushbutton* p1 = new qpushbutton("objname-testbtn", this);
p1->setobjectname("testbtn");
p1->setproperty("testproperty", true);
/*在qwidget#testwidget中,孩子及子孩子中型別qlineedit的屬性設定*/
/*即設定介面objectnname為testwidget下的所有qlineedit的屬性*/
qwidget#testwidget qlineedit
**示例
qwidget* ptestwidget = new qwidget(this);
ptestwidget->setobjectname("testwidget ");
qlineedit* p4 = new qlineedit(ptestwidget);
/*在qwidget#testwidget的孩子中qlabel的屬性設定,不包括子孩子*/
qwidget#testwidget > qlabel
**示例
qwidget* pwidgetchild = new qwidget(this);
pwidgetchild->show();
pwidgetchild->move(300, 200);
pwidgetchild->setwindowtitle("objname-childwidget");
pwidgetchild->setobjectname("childwidget");
qlabel* p5 = new qlabel(pwidgetchild); // p5是testwidget的子widget的孩子,是不會使用上面的屬性的
/*多個型別物件設定相同的屬性值*/
qtoolbutton,qcomboxbox
2、/*偽狀態qwidget:****/
即各個控制項所支援的一些狀態資訊
/*偽狀態*/
.qpushbutton:hover
.qpushbutton:!hover
qcheckbox:hover:checked
qcheckbox:unchecked /*或qcheckbox:!checked也可以*/
qcheckbox:!hover
3、子控制項
/*子控制項 qwidget::****/
qcombobox::drop-down
4、衝突的解決
會使用更特殊的進行設定,看著都不特殊,就會以qss後面一句為準
the style sheet syntax
qt style sheets reference
再往下應該介紹有哪些偽狀態
再往下介紹有哪些子控制項
在 QSS 中設定 Qt Widget 屬性
使用 qss 屬性選擇器 q object 新增自定義屬性到 qt動態屬性系統 一般寫在 q object 下方 q property qcolor colselectioncolor read colselectioncolor write setcolselectioncolor qss 中設定...
語義分析之一 屬性文法
編譯原理的幾個核心階段 詞法分析 語法分析和語義分析,其實編譯的本質便是翻譯,其各個階段便是承擔不同的翻譯任務,詞法分析階段的任務是將程式輸入的字串流翻譯成語言認可的字元流 剔除空格和注釋等部分 語法分析便是將程式按照語言文法的規則構建成語法樹 語義分析便是在語法樹構建的基礎上完成語言規則的語義動作...
C 反射技術之一讀取和設定類的屬性
要用c 反射技術的話,首先得引入system.reflection 命名空間,這個命名空間裡的類,具有動態引導程式集 型別,動態呼叫方法 設定和取得屬性和字段的值 可以獲取型別和方法的資訊的功能。要想對乙個型別例項的屬性或字段進行動態賦值或取值,首先得得到這個例項或型別的type,微軟已經為我們提供...