当前位置: 代码迷 >> QT开发 >> 继承自QWidget的自定义类显示的有关问题
  详细解决方案

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

热度:36   发布时间:2016-04-25 04:01:33.0
继承自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吧。
  相关解决方案