2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Inhaltsverzeichnis
1. Einführung in das Unterfenster:
2. Erstellen Sie ein Unterfenster mit Code:
3.Legen Sie den Titel des Unterfensters fest:
4. Fügen Sie dem untergeordneten Fenster Steuerelemente hinzu:
5. Legen Sie die Andockposition des Unterfensters fest.
In Qt können Sie untergeordnete Fenster (Unterfenster) erstellen und verwalten, um Anwendungen mit mehreren Fenstern zu implementieren.
Untergeordnete Fenster können Dialogfelder, unabhängige Fenster oder untergeordnete MDI-Fenster (Multiple Document Interface) sein.
Erstellen Sie untergeordnete Fenster über die QDockWidget-Klasse.
- Erstellen Sie ein untergeordnetes Fensterobjekt: QDockWidget* dockWidget=new QDockWidget();
- Fügen Sie das untergeordnete Fenster zum Hauptfenster hinzu: this->addDockWidget(Qt::LeftDockWidgetArea, dockWidget);
- Legen Sie den Titel des Unterfensters fest: dockWidget->setWindowTitle("Dies ist der Titel des Unterfensters");
- Wenn Sie Steuerelemente zu einem Unterfenster hinzufügen, können Sie Untersteuerelemente für dieses Fenster nicht direkt festlegen.
- Erstellen Sie zunächst ein separates QWidget-Objekt und legen Sie dann die Steuerung auf dieses QWidget-Objekt fest.
- Setzen Sie dann dieses QWidget-Objekt auf dockWidget.
//为dockWidget赋予QWidget对象 QWidget* container=new QWidget(); dockWidget->setWidget(container);
- Da ein dockWidget nur ein QWidget-Objekt enthalten kann, müssen Sie, wenn Sie ein neues Steuerelement hinzufügen möchten, es trotzdem zum QWidget-Objekt hinzufügen.
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); }
- Legen Sie den zulässigen Andockort über die Methode setAllowAreas(Qt::DockWidgetArea | Qt::DockWidgetArea) fest. Standardmäßig ist Qt::LeftDockWidgetArea – links.
- Es können vier Positionen eingestellt werden, die Standardposition ist oben:
- Qt::TopDockWidgetArea——
- Qt::BottomDockWidgetArea——
- Qt::LeftDockWidgetArea——Funktion
- Qt::RightDockWidgetArea——Funktion