我已经使用C ++对Qt 5进行了一些测试,我看到了很多潜力!但是我来到了一堵我还没能通过的大墙。
我想创建一个包含其他窗口(MDI)的widnow,我在线关注一些教程,但窗口是由代码创建的,我不知道如何"链接&#34 ;它到我已经设计的UI文件。
我遵循Qt Creator附带的MDI教程,它工作正常,但正如我之前所说,它不适用于自定义UI。我发现这other one正是我想要的,我遵循它并且它不起作用我也从示例中下载了源代码,运行它仍然无法工作。它会打开一个没有任何内容的窗口。
如果某人有一个例子,一本好的教程或一本带有正确信息的书,我会很感激。
非常感谢您花时间阅读本文。
答案 0 :(得分:0)
您应该在窗口上放置一个QMdiArea
小部件。它提供了一个显示MDI窗口的区域。它可以通过设计师完成。
所有子窗口都应继承QMdiSubWindow
,为QMdiArea
提供子窗口类:
class MyWindow : public QMdiSubWindow
{
Q_OBJECT
public:
explicit MyWindow(QWidget *parent = 0);
~MyWindow();
};
创建自定义子窗口后,您可以将其添加到MDI区域,如:
MyWindow * subWindow = new MyWindow(ui->mdiArea);
MyWindow->show();
您还可以通过右键单击MDI区域并选择:
在设计器中添加子窗口"添加subWindow"
这将添加一个可在设计器中查看的子窗口。您还可以通过这种方式向设计器中添加的子窗口添加任意小部件。