在Qt Creator中,我已经将自定义小部件放到我的表单上,看起来很好,但是当我编译并运行时,只有表单的默认Qt小部件(滑块,标签等)显示但是不是插件的小部件。
在.pro文件中,include路径和LIBS + =分别指向widget的头目录和.lib文件。
如果我以程序方式实例化它,则会显示小部件:
cwidget *cw = new cwidget();
cw->show()
但这会创建一个带窗口小部件的新窗口,而不是将其添加到主窗口上的正确位置。
是否有办法在表单中自动显示自定义窗口小部件对象,就像所有qt标准窗口小部件一样?
答案 0 :(得分:2)
首先试试这个。
cwidget *cw = new cwidget(this); //for example in the MainWindow constructor
cw->show();
设置父级时,此小部件将显示在MainWindow中,而不是新窗口中。它有效吗?
答案 1 :(得分:0)
您需要以某种方式将新窗口小部件连接到窗口。您可以使用构造函数或setParent()直接将主窗口设置为父窗口。更好的方法是将窗口小部件附加到窗口的布局。