QT子控件设置qss无效问题

新建了一个 QWidget,里面放了2个 QLabel,模拟 QToolButton,只是想将 ICON 图标做成圆角而已。在Qt设计师里面设置了 QWidget 背景颜色,以及鼠标悬停变色。在 Qt 设计师预览是生效的。可在程序里动态创建添加到主控件里面却死活不显示。

解决方法,在子控件QWidget 中重写 paintEvent 函数。(之前的Qss保存不变)

void MySubWidget::paintEvent(QPaintEvent* )
{
    QStyleOption opt;
    opt.init(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}

猜你喜欢

转载自blog.csdn.net/qiangzi4646/article/details/80980992