QMainWindow中的两个QWidget具有最小化按钮和窗口标题

时间:2017-02-09 22:03:36

标签: c++ qt qt5 qt-creator

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    textEdit1 = new QTextEdit();
    textEdit1->setWindowTitle("First Notepad");
    textEdit2 = new QTextEdit();
    textEdit2->setWindowTitle("First Notepad");
    layout = new QVBoxLayout();
    layout->addWidget(textEdit1);
    layout->addWidget(textEdit2);

    newTab = new QWidget();
    newTab->setLayout(layout);

    ui->setupUi(this);
    setCentralWidget(newTab);
}

enter image description here

以上是MainWindow构造函数的代码示例。 Ot有两个qTextEdits,它们采用VerticalBox布局。我希望textEdits都有一个标题栏并最小化和最大化按钮,这样我一次可以使用其中一个或两个。但是你可以看到输出窗口标题栏不在那里。

如何显示标题栏?为什么setWindowTitle("First Notepad")不显示标题?

如果我做错了,请建议我采取其他方式继续进行。欢迎提出任何建议。

我正在尝试的是一个MainWindow,它有多个固定位置的子窗口。

1 个答案:

答案 0 :(得分:1)

  

我正在尝试的是一个MainWindow有多个具有固定位置的子窗口。

您正在寻找的可能是QMdiArea以及多个QMdiSubWindow 正如`QMdiArea的文档中提到的那样:

  

QMdiArea小部件提供了一个显示MDI窗口的区域

此外:

  

QMdiArea通常用作QMainWindow中的中心窗口小部件来创建MDI应用程序,但也可以放置在任何布局中。

我已经习惯了,但我从未试图将固定位置提供给子窗口。无论如何,这显然是可能的。可能QMdiArea::tileSubWindows已足以满足您的要求 将自定义标题和条形图设置为窗口是免费的:

  

QMdiSubWindow代表QMdiArea中的顶级窗口,由带有窗口装饰的标题栏,内部窗口小部件和(取决于当前样式)窗口框架和大小夹点组成。 QMdiSubWindow有自己的布局,包括标题栏和内部小部件的中心区域

有关详细信息,请参阅官方文档。