读书人

继承自QWidget的自定义类显示的有关问

发布时间: 2013-04-02 12:35:26 作者: rapoo

继承自QWidget的自定义类显示的问题
首先自定义一个继承自 QWidget 的类 ChildWindow


ChildWindow::ChildWindow(QWidget *parent) :
QWidget(parent)
{
this->resize(300,100);
this->setStyleSheet("background-color:red;");
}


顶级窗口类

TestWin::TestWin(QWidget *parent) :
QWidget(parent)
{
this->resize(500,200);
ChildWindow *btn = new ChildWindow(this);
btn->show();
}


自定义类背景色不能显示。感觉自定义类好像替代成为了顶级窗口(像是顶级窗口的layout),如果在自定义类中再嵌套一层 QWidget ,这个最里层的QWidget就能正常设置大小颜色等等,不知道这是什么原因?谢谢~



。。 qt
[解决办法]
QWidget 类的 paintEvent 其实什么也没做,所以看不到背景色 , 继承自 QWidget 的类 需要自己在 paintEvent 中实现对样式表的支持


引用:
= = 问题果然出在 样式表设置颜色上,使用 QPalette设置颜色 就不会有问题 何解?

[解决办法]
为了不出意外,还是写paintEvent吧。

读书人网 >QT开发

热点推荐