#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窗口,只需将其拖动到另一个桌面即可。