多文档窗体是一种应用非常广泛的窗体类型,即在主窗体中包含多个子窗体,并且子窗体不会显示在主窗体的外面。当子窗体不能完全显示在主窗体中时,主窗体会显示滚动条来调整可视范围。 接下来介绍使用QT实现多文档窗体的示例。
使用QC 9.0建立Widgets应用程序,在MainWindow构造函数中加入以下代码:
QMdiArea * m_hovertreeArea=new QMdiArea(ui->centralwidget);
QMdiSubWindow *m_subWin = new QMdiSubWindow;
QLabel* m_label = new QLabel;
m_label->setText("hovertree.com");
m_subWin->setWidget(m_label);
m_hovertreeArea->addSubWindow(m_subWin);
m_subWin->show();
QMdiSubWindow *m_hovertreeWin = new QMdiSubWindow;
QLabel* m_hovertreeLabel = new QLabel;
m_hovertreeLabel->setText("何问起");
m_hovertreeWin->setWidget(m_hovertreeLabel);
m_hovertreeArea->addSubWindow(m_hovertreeWin);
m_subWin->show();
以上代码QMdiArea定义一个多文档的容器,在这个容器里添加入QMdiSubWindow定义的子窗体。
运行效果如下图:
