Qt 開發之三 :stylesheet

做過web前端開發的程序員必備的技能便是CSS,CSS強大快速。當發現qt支持類似css的功能時,是件令人興奮的事情。

QWidgetw;

w.setStyleSheet("background:#cccccc");
便可以改變窗口的背景顏色。
再來看一個更讓人興奮的例子。
m_pBtnLogin   = new QPushButton(this);
m_pBtnLogin->setFlat(true);
m_pBtnLogin->setText(tr("Login"));
m_pBtnLogin->setStyleSheet("QPushButton{border-radius:5px;color:white; font:12pt; background:#4270C0}"
                           "QPushButton:hover{background:#2761BD}"
                           "QPushButton:pressed{background:#1732DF}"
                           );
完全是CSS的寫法,這樣短短設置便可以實現一個三態(normal, hover pressed)的圓角邊按鈕。

因爲setStyleSheet的參數是字符串,所以完全可以自己寫一個css文件,然後通過讀出文件內容到字符串的方法,來設置樣式,這樣就和web開發的做法接近了,可以不用重新編譯程序便可以修改和調整UI外觀,當然效率就會有損失。有了類似CSS的功能,換膚就相對容易了。但個人觀點換膚實則是雞肋,沒用多少用戶會真正去使用換膚,當然色盲和色弱的用戶除外。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章