QT-继承QWidget 设置样式无效解决
来源:互联网 发布:阳光网络问政 编辑:程序博客网 时间:2024/05/19 19:59
在继承QWidget时,我们在设置样式表时,不会有效果。原因在于 QWidget的paintEvent函数实现为空。
此时,需要让样式表生效,有两种方法:
- 不继承QWidget,继承QFrame。因为QFrame 的自带paintEvent函数已做了实现,在使用样式表时会进行解析和绘制。
- 实现QWidget的paintEvent函数时,使用QStylePainter绘制:
void CLGWidgetBasic::paintEvent(QPaintEvent *event) { QStylePainter painter(this); //用style画背景 (会使用setstylesheet中的内容) QStyleOption opt; opt.initFrom(this); opt.rect=rect(); painter.drawPrimitive(QStyle::PE_Widget, opt); QWidget::paintEvent(event); }
这里的QStyleOption .rect为 样式生效的区域,可以根据需要调整。
设置样式:
CLGWidgetBasic *widget=new CLGWidgetBasic(this);widget->setStyleSheet( " background-color:red;" );
建议采用第二种方式。
阅读全文
0 0
- QT-继承QWidget 设置样式无效解决
- Qt/C++ 继承QWidget setstylesheet解决
- QT 中继承QWidget之后,样式表不起作用 style stylesheet
- 自学QT之QWidget设置setstylesheet无效的问题
- 继承 QWidget setStyleSheet无效,解决方法。
- 继承 QWidget setStyleSheet无效,解决方法。
- QWidget 设置样式表
- [Qt笔记]:QWidget设置背景图片
- QT QWidget设置窗体透明度方法汇总
- Qt之设置QWidget背景色
- Qt之设置QWidget背景色
- QT QWidget设置窗体透明度方法汇总
- Qt之设置QWidget背景色
- <Qt> QWidget派生类setStyleSheet方法无效问题
- 【Qt错误】无效样式表
- 继承自QWidget的子类如何直接使用QSS样式
- QT学习(四)如何正确继承QWidget
- Qt框架浅析之四 ------ 界面单继承QWidget
- javascript 判断字符串是否包含某字符串,String对象中查找子字符,indexOf
- Tyvj1952 Easy OSU
- 20170726 jQuery练习题 表格操作练习题
- 大家好
- HDU6034(多校联合B题,25进制模拟)
- QT-继承QWidget 设置样式无效解决
- PAT乙级 1035. 插入与归并(25)--模拟插入归并算法
- 9.内容文字移出
- 使自己的mysql数据库可以被远程登录
- Oracle中的序列
- PAT乙级 1036. 跟奥巴马一起编程(15)
- 虚树学习 codeforces613D
- easyui相关的问题
- 函数式编程