le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Sommario
1. Introduzione alla sottofinestra:
2. Crea una sottofinestra utilizzando il codice:
3.Impostare il titolo della sottofinestra:
4. Aggiungi controlli alla sottofinestra:
5. Impostare la posizione di aggancio della finestra secondaria.
In Qt puoi creare e gestire finestre figlie (sottofinestre) per implementare applicazioni multi-finestra.
Le finestre secondarie possono essere finestre di dialogo, finestre indipendenti o finestre secondarie MDI (Multiple Document Interface).
Crea finestre secondarie tramite la classe QDockWidget.
- Crea un oggetto finestra figlio: QDockWidget* dockWidget=new QDockWidget();
- Aggiungi la finestra figlia alla finestra principale: this->addDockWidget(Qt::LeftDockWidgetArea, dockWidget);
- Imposta il titolo della sottofinestra: dockWidget->setWindowTitle("Questo è il titolo della sottofinestra");
- Quando si aggiungono controlli a una finestra secondaria, non è possibile impostare direttamente i controlli secondari per questa finestra.
- Innanzitutto, crea un oggetto QWidget separato, quindi imposta il controllo su questo oggetto QWidget.
- Quindi imposta questo oggetto QWidget su dockWidget.
//为dockWidget赋予QWidget对象 QWidget* container=new QWidget(); dockWidget->setWidget(container);
- Poiché un dockWidget può contenere solo un oggetto QWidget, se desideri aggiungere un nuovo controllo, devi comunque aggiungerlo all'oggetto 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); }
- Imposta la posizione di ancoraggio consentita tramite il metodo setAllowAreas(Qt::DockWidgetArea | Qt::DockWidgetArea). Il valore predefinito è Qt::LeftDockWidgetArea - sinistra.
- È possibile impostare quattro posizioni e la posizione predefinita è in alto:
- Qt::TopDockWidgetArea——prima
- Qt::BottomDockWidgetArea——indietro
- Qt::LeftDockWidgetArea——Indietro
- Qt::RightDockWidgetArea——di destra