Κοινή χρήση τεχνολογίας

Qt: 19. Κυμαινόμενο παράθυρο/υποπαράθυρο (εισαγωγή στα υποπαράθυρα, δημιουργία υποπαραθύρων σε κώδικα, ρύθμιση τίτλων υποπαραθύρων, προσθήκη στοιχείων ελέγχου σε υποπαράθυρα και ρύθμιση θέσεων σύνδεσης υποπαραθύρων)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Πίνακας περιεχομένων

1. Εισαγωγή υποπαραθύρου:

2. Δημιουργήστε ένα υποπαράθυρο χρησιμοποιώντας τον κώδικα:

3. Ορίστε τον τίτλο του υποπαραθύρου:

4. Προσθέστε στοιχεία ελέγχου στο υποπαράθυρο:

5. Ρυθμίστε τη θέση σύνδεσης του υποπαραθύρου.


1. Εισαγωγή υποπαραθύρου:

  • Στο Qt, μπορείτε να δημιουργήσετε και να διαχειριστείτε θυγατρικά παράθυρα (υποπαράθυρα) για την υλοποίηση εφαρμογών πολλαπλών παραθύρων.

  • Τα θυγατρικά παράθυρα μπορεί να είναι παράθυρα διαλόγου, ανεξάρτητα παράθυρα ή θυγατρικά παράθυρα MDI (Multiple Document Interface).

  • Δημιουργήστε θυγατρικά παράθυρα μέσω της κλάσης QDockWidget.

2. Δημιουργήστε ένα υποπαράθυρο χρησιμοποιώντας τον κώδικα:

  • Δημιουργήστε ένα αντικείμενο θυγατρικού παραθύρου: QDockWidget* dockWidget=new QDockWidget();
  • Προσθέστε το θυγατρικό παράθυρο στο κύριο παράθυρο: this->addDockWidget(Qt::LeftDockWidgetArea, dockWidget);

        

3. Ορίστε τον τίτλο του υποπαραθύρου:

  • Ορίστε τον τίτλο του υποπαραθύρου: dockWidget->setWindowTitle("This is the sub-window title");

        

4. Προσθέστε στοιχεία ελέγχου στο υποπαράθυρο:

  • Όταν προσθέτετε στοιχεία ελέγχου σε ένα υποπαράθυρο, δεν μπορείτε να ορίσετε απευθείας δευτερεύοντα στοιχεία ελέγχου για αυτό το παράθυρο.
  • Πρώτα, δημιουργήστε ένα ξεχωριστό αντικείμενο QWidget και, στη συνέχεια, ορίστε το στοιχείο ελέγχου σε αυτό το αντικείμενο QWidget.
  • Στη συνέχεια, ορίστε αυτό το αντικείμενο QWidget σε dockWidget.
  1. //为dockWidget赋予QWidget对象
  2. QWidget* container=new QWidget();
  3. dockWidget->setWidget(container);
  • Δεδομένου ότι ένα dockWidget μπορεί να περιέχει μόνο ένα αντικείμενο QWidget, εάν θέλετε να προσθέσετε ένα νέο στοιχείο ελέγχου, πρέπει να το προσθέσετε στο αντικείμενο QWidget.
  1. MainWindow::MainWindow(QWidget *parent)
  2. : QMainWindow(parent)
  3. , ui(new Ui::MainWindow)
  4. {
  5. ui->setupUi(this);
  6. QDockWidget* dockWidget=new QDockWidget();
  7. this->addDockWidget(Qt::LeftDockWidgetArea,dockWidget);
  8. dockWidget->setWindowTitle("这是子窗口的标题");
  9. //为dockWidget赋予QWidget对象
  10. QWidget* container=new QWidget();
  11. dockWidget->setWidget(container);
  12. //创建两个控件
  13. QLabel* label=new QLabel("这是一个label控件");
  14. QPushButton* pushButton=new QPushButton("这是一个按钮");
  15. //创建一个布局管理利器,并且设置到QWidget对象中
  16. QVBoxLayout* layout=new QVBoxLayout();
  17. container->setLayout(layout);
  18. //将两个控件添加到布局管理器中
  19. layout->addWidget(label);
  20. layout->addWidget(pushButton);
  21. }

5. Ρυθμίστε τη θέση σύνδεσης του υποπαραθύρου.

  • Ορίστε την επιτρεπόμενη θέση σύνδεσης μέσω της μεθόδου setAllowAreas(Qt::DockWidgetArea | Qt::DockWidgetArea). Προεπιλογές σε Qt::LeftDockWidgetArea - αριστερά.
  • Μπορούν να οριστούν τέσσερις θέσεις και η προεπιλεγμένη θέση είναι επάνω:
  • Qt::TopDockWidgetArea——上
  • Qt::BottomDockWidgetArea——π.χ
  • Qt::LeftDockWidgetArea——左
  • Qt::RightDockWidgetArea——右