【发布时间】:2020-07-28 00:14:19
【问题描述】:
我已经创建了自己的自定义小部件类,代码如下:
class myWidget : public QWidget
{
Q_OBJECT
public:
explicit myWidget(QWidget*parent=nullptr): QWidget(parent){}
void enterEvent(QEvent *event) override
{
Q_UNUSED(event);
qDebug()<<"Entered";
}
};
在widget.cpp 我已经创建了它的实例,如下所示
myWidget *w;
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
w=new myWidget(this);
w->setStyleSheet("background-color: rgb(138, 226, 52);");
w->setGeometry(10,10,100,100);
w->show();
}
如您所见,我的对象是 this 小部件窗口的子对象,但每当我运行程序时,它在窗口中对我不可见,但当我转到顶部底部时,我可以看到我的控制台输出Entered,所以它出现在我的Widget 窗口中,但即使我将背景颜色设置为绿色,我也看不到它,如果我只使用Qt GUI 在表单中添加一个Widget并设置背景颜色并运行代码,然后我从 GUI 添加的 Widget 可见,但我自己的自定义小部件创建的 Widget 不可见。
【问题讨论】:
-
尝试在您的自定义小部件中绘制一些东西