首页| 论坛| 消息

标题:自绘的控件如何从全局样式表中获取背景色和文字颜色?
作者:shineryu
日期:2021-10-15 21:26
内容:

问题背景:
我写了一个Widget程序,通过QSS文件设置程序的界面样式。
界面上有个控件是自定义的,自己写的paintEvent函数。
我希望根据程序的样式风格绘制我的自定义控件,比方说,我想让我的控件的背景色与样式表中QWidget的background-color一致,控件上的文字颜色与QWidget的color一致。
但是我实在查找不出有什么好的办法能从全局样式表中获取这些信息。
当然,我可以把样式表读入QString,然后解析出那些字段来,但是这也太笨了吧?
希望有大神能帮帮我,万分感谢!


#1 [liudianwu 10-16 15:26]
如果你再设置qss的同时设置了palette,那可以从palette读取,否则,貌似只能把样式表读入QString,然后解析出那些字段。
#2 回 liudianwu 的帖子 [shineryu 10-20 20:42]
liudianwu:如果你再设置qss的同时设置了palette,那可以从palette读取,否则,貌似只能把样式表读入QString,然后解析出那些字段。 (2021-10-16 15:26) 
谢谢您的解答,回去 试一下!
#3 [nigoole 10-22 08:23]
还可以用自定义属性定义样式表 比如
#label {
qproperty-mytext: "hello";
}
然后你控件里面绑定属性
Q_PROPERTY(QString mytext WRITE setMytext READ mytext)

回复 发表
主题 版块