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的功能,换肤就相对容易了。但个人观点换肤实则是鸡肋,没用多少用户会真正去使用换肤,当然色盲和色弱的用户除外。

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