2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Table des matières
1. Introduction de la sous-fenêtre :
2. Créez une sous-fenêtre à l'aide du code :
3.Définissez le titre de la sous-fenêtre :
4. Ajoutez des contrôles à la fenêtre enfant :
5. Définissez la position d'ancrage de la sous-fenêtre.
Dans Qt, vous pouvez créer et gérer des fenêtres enfants (sous-fenêtres) pour implémenter des applications multi-fenêtres.
Les fenêtres enfants peuvent être des boîtes de dialogue, des fenêtres indépendantes ou des fenêtres enfants MDI (Multiple Document Interface).
Créez des fenêtres enfants via la classe QDockWidget.
- Créez un objet fenêtre enfant : QDockWidget* dockWidget=new QDockWidget();
- Ajoutez la fenêtre enfant à la fenêtre principale : this->addDockWidget(Qt::LeftDockWidgetArea, dockWidget);
- Définissez le titre de la sous-fenêtre : dockWidget->setWindowTitle("Ceci est le titre de la sous-fenêtre");
- Lors de l'ajout de contrôles à une sous-fenêtre, vous ne pouvez pas définir directement des sous-contrôles pour cette fenêtre.
- Commencez par créer un objet QWidget distinct, puis définissez le contrôle sur cet objet QWidget.
- Définissez ensuite cet objet QWidget sur dockWidget.
//为dockWidget赋予QWidget对象 QWidget* container=new QWidget(); dockWidget->setWidget(container);
- Puisqu'un dockWidget ne peut contenir qu'un seul objet QWidget, si vous souhaitez ajouter un nouveau contrôle, vous devez toujours l'ajouter à l'objet 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); }
- Définissez l'emplacement d'accueil autorisé via la méthode setAllowAreas(Qt::DockWidgetArea | Qt::DockWidgetArea). La valeur par défaut est Qt::LeftDockWidgetArea - gauche.
- Quatre positions peuvent être définies, et la position par défaut est vers le haut :
- Qt::TopDockWidgetArea——quelque chose
- Qt::BottomDockWidgetArea——quelque chose
- Qt::LeftDockWidgetArea ———Ajouter
- Qt::RightDockWidgetArea —— ...