моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Оглавление
2. Создайте подокно, используя код:
3.Установите заголовок подокна:
4. Добавьте элементы управления в подокно:
5. Установите положение закрепления дополнительного окна.
В Qt вы можете создавать дочерние окна (подокна) и управлять ими для реализации многооконных приложений.
Дочерние окна могут быть диалоговыми окнами, независимыми окнами или дочерними окнами MDI (многодокументный интерфейс).
Создайте дочерние окна с помощью класса QDockWidget.
- Создайте объект дочернего окна: QDockWidget*ockWidget=new QDockWidget();
- Добавьте дочернее окно в главное окно: this->addDockWidget(Qt::LeftDockWidgetArea,ockWidget);
- Установите заголовок подокна:ockWidget->setWindowTitle("Это заголовок подокна");
- При добавлении элементов управления в подокно вы не можете напрямую установить подокна для этого окна.
- Сначала создайте отдельный объект QWidget, а затем установите элемент управления на этот объект QWidget.
- Затем установите для этого объекта QWidget значение DockWidget.
//为dockWidget赋予QWidget对象 QWidget* container=new QWidget(); dockWidget->setWidget(container);
- Поскольку DockWidget может содержать только один объект QWidget, если вы хотите добавить новый элемент управления, вам все равно придется добавить его в объект QWidget.
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); QDockWidget* dockWidget=new QDockWidget(); this->addDockWidget(Qt::LeftDockWidgetArea,dockWidget); dockWidget->setWindowTitle("这是子窗口的标题"); //为dockWidget赋予QWidget对象 QWidget* container=new QWidget(); dockWidget->setWidget(container); //创建两个控件 QLabel* label=new QLabel("这是一个label控件"); QPushButton* pushButton=new QPushButton("这是一个按钮"); //创建一个布局管理利器,并且设置到QWidget对象中 QVBoxLayout* layout=new QVBoxLayout(); container->setLayout(layout); //将两个控件添加到布局管理器中 layout->addWidget(label); layout->addWidget(pushButton); }
- Установите разрешенное место стыковки с помощью метода setAllowAreas(Qt::DockWidgetArea | Qt::DockWidgetArea). По умолчанию Qt::LeftDockWidgetArea — слева.
- Можно установить четыре положения, положение по умолчанию — вверху:
- Qt::TopDockWidgetArea ———
- Qt::BottomDockWidgetArea ———
- Qt::LeftDockWidgetArea ———
- Qt::RightDockWidgetArea ———