informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Daftar isi
2. Buat sub-jendela menggunakan kode:
4. Tambahkan kontrol ke subjendela:
5. Atur posisi docking subjendela.
Di Qt, Anda dapat membuat dan mengelola jendela anak (subjendela) untuk mengimplementasikan aplikasi multi-jendela.
Jendela anak dapat berupa kotak dialog, jendela independen, atau jendela anak MDI (Multiple Document Interface).
Buat jendela anak melalui kelas QDockWidget.
- Buat objek jendela anak: QDockWidget* dockWidget=new QDockWidget();
- Tambahkan jendela anak ke jendela utama: this->addDockWidget(Qt::LeftDockWidgetArea, dockWidget);
- Tetapkan judul subjendela: dockWidget->setWindowTitle("Ini adalah judul subjendela");
- Saat menambahkan kontrol ke subjendela, Anda tidak bisa langsung mengatur subkontrol untuk jendela ini.
- Pertama, buat objek QWidget terpisah, lalu atur kontrol ke objek QWidget ini.
- Kemudian atur objek QWidget ini menjadi dockWidget.
//为dockWidget赋予QWidget对象 QWidget* container=new QWidget(); dockWidget->setWidget(container);
- Karena dockWidget hanya dapat berisi satu objek QWidget, jika Anda ingin menambahkan kontrol baru, Anda masih harus menambahkannya ke objek 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); }
- Tetapkan lokasi docking yang diizinkan melalui metode setAllowAreas(Qt::DockWidgetArea | Qt::DockWidgetArea) . Defaultnya adalah Qt::LeftDockWidgetArea - kiri.
- Empat posisi dapat diatur, dan posisi defaultnya adalah:
- Qt::TopDockWidgetArea——Selesai
- Qt::BottomDockWidgetArea——berikutnya
- Qt::LeftDockWidgetArea——Menyesuaikan
- Qt::RightDockWidgetArea——berikutnya