Skip to main content
标签ad报错:该广告ID(9)不存在。
  主页 > Qt桌面应用

主界面嵌入dock窗口

2023-04-25 浏览:
标签ad报错:该广告ID(7)不存在。

#include <QApplication>
#include <QMainWindow>
#include <QDockWidget>
#include <QTabWidget>
#include <QVBoxLayout>
#include <QPushButton>
#include <QTextEdit>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QMainWindow main_window;
    QDockWidget *dock_widget = new QDockWidget("Dock Window", &main_window);
    dock_widget->setAllowedAreas(Qt::AllDockWidgetAreas);
    QTabWidget *tab_widget = new QTabWidget(dock_widget);
    dock_widget->setWidget(tab_widget);
    main_window.addDockWidget(Qt::RightDockWidgetArea, dock_widget);

    QWidget *widget_1 = new QWidget();
    QVBoxLayout *layout_1 = new QVBoxLayout(widget_1);
    QPushButton *button_1 = new QPushButton("Button 1", widget_1);
    layout_1->addWidget(button_1);
    QTextEdit *text_edit_1 = new QTextEdit(widget_1);
    layout_1->addWidget(text_edit_1);
    tab_widget->addTab(widget_1, "Widget 1");

    QWidget *widget_2 = new QWidget();
    QVBoxLayout *layout_2 = new QVBoxLayout(widget_2);
    QPushButton *button_2 = new QPushButton("Button 2", widget_2);
    layout_2->addWidget(button_2);
    QTextEdit *text_edit_2 = new QTextEdit(widget_2);
    layout_2->addWidget(text_edit_2);
    tab_widget->addTab(widget_2, "Widget 2");

    main_window.show();

    return app.exec();
}


在这个示例中,我们创建了一个QMainWindow作为主窗口,然后创建了一个QDockWidget作为dock窗口,

并将其添加到主窗口的右侧。我们还创建了一个QTabWidget,并将其设置为dock窗口的widget。

然后,我们创建了两个QWidget作为tab页中的widget,每个widget都包含一个QPushButton和一个QTextEdit。

当我们运行这个程序时,dock窗口将显示在主窗口的右侧,并以tab页的形式嵌入主窗口。

我们还可以使用鼠标将dock窗口拖动到另一个位置,或将其浮动到独立窗口中。

要全屏显示dock窗口,只需将其拖动到另一个桌面即可。