Qt小心得之1: QWidget中添加Q_OBJECT宏, setStyleSheet设置了背景颜色不显示

          QWidget在没有添加Q_OBJECT宏,在构造函数里用setStyleSheet设置了背景颜色,是可以正常显示,但添加了Q_OBJECT宏后,QWidget就无法显示背景色了, 百度了一下,发现了类似问题,说是QWidget顶级窗口无论是否添加Q_OBJECT宏, 背景色都可以正常显示;其他的如QFrame,无论是否添加了Q_OBJECT宏,无论是否是顶级窗口,都可以显示背景色(这两点未亲自验证过); QWidget作为子窗口如要正常显示背景色,需要setAttribute(Qt::WA_StyledBackground),验证ok.

猜你喜欢

转载自blog.csdn.net/asbhunan129/article/details/85245920