自定义Qt窗口小部件已实例化但未显示

时间:2014-08-31 06:03:34

标签: qt widget qt-creator

在Qt Creator中,我已经将自定义小部件放到我的表单上,看起来很好,但是当我编译并运行时,只有表单的默认Qt小部件(滑块,标签等)显示但是不是插件的小部件。

在.pro文件中,include路径和LIBS + =分别指向widget的头目录和.lib文件。

如果我以程序方式实例化它,则会显示小部件:

cwidget *cw = new cwidget(); 
cw->show() 

但这会创建一个带窗口小部件的新窗口,而不是将其添加到主窗口上的正确位置。

是否有办法在表单中自动显示自定义窗口小部件对象,就像所有qt标准窗口小部件一样?

2 个答案:

答案 0 :(得分:2)

首先试试这个。

cwidget *cw = new cwidget(this); //for example in the MainWindow constructor
cw->show(); 

设置父级时,此小部件将显示在MainWindow中,而不是新窗口中。它有效吗?

答案 1 :(得分:0)

您需要以某种方式将新窗口小部件连接到窗口。您可以使用构造函数或setParent()直接将主窗口设置为父窗口。更好的方法是将窗口小部件附加到窗口的布局。