minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Índice
2. Crie uma subjanela usando código:
3.Defina o título da subjanela:
4. Adicione controles à janela filha:
5. Defina a posição de encaixe da subjanela.
No Qt, você pode criar e gerenciar janelas filhas (subjanelas) para implementar aplicativos de múltiplas janelas.
As janelas filhas podem ser caixas de diálogo, janelas independentes ou janelas filhas MDI (Multiple Document Interface).
Crie janelas filhas por meio da classe QDockWidget.
- Crie um objeto de janela filho: QDockWidget* dockWidget=new QDockWidget();
- Adicione a janela filha à janela principal: this->addDockWidget(Qt::LeftDockWidgetArea, dockWidget);
- Defina o título da subjanela: dockWidget->setWindowTitle("Este é o título da subjanela");
- Ao adicionar controles a uma subjanela, você não pode definir subcontroles diretamente para esta janela.
- Primeiro, crie um objeto QWidget separado e, em seguida, defina o controle para esse objeto QWidget.
- Em seguida, defina este objeto QWidget como dockWidget.
//为dockWidget赋予QWidget对象 QWidget* container=new QWidget(); dockWidget->setWidget(container);
- Como um dockWidget pode conter apenas um objeto QWidget, se você quiser adicionar um novo controle, ainda será necessário adicioná-lo ao objeto 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); }
- Defina o local de encaixe permitido por meio do método setAllowAreas(Qt::DockWidgetArea | Qt::DockWidgetArea). O padrão é Qt::LeftDockWidgetArea - esquerda.
- Quatro posições podem ser definidas e a posição padrão é para cima:
- Qt::TopDockWidgetArea——上
- Qt::BottomDockWidgetArea——Este
- Qt::LeftDockWidgetArea—— 左
- Qt::RightDockWidgetArea——como