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



在Qt Creator中,我将一个自定义小部件放到了我的表单上,它看起来很好,但当我编译和运行时,只显示表单的默认Qt小部件(滑块、标签等),而不显示插件的小部件。

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

如果我逐步实例化它,这个小部件就会显示:

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

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

难道没有一种方法可以像所有qt标准小部件一样,让表单中的自定义小部件对象自动显示吗?

首先尝试一下。

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

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

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

最新更新