Teknologian jakaminen

Qt: 19. Kelluva ikkuna/ali-ikkuna (alaikkunoiden esittely, aliikkunoiden luominen koodissa, aliikkunoiden otsikoiden asettaminen, säätimien lisääminen aliikkunoihin ja aliikkunoiden telakointiasemien asettaminen)

2024-07-12

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

Sisällysluettelo

1. Ali-ikkunan esittely:

2. Luo ali-ikkuna koodilla:

3.Aseta aliikkunan otsikko:

4. Lisää säätimiä alatason ikkunaan:

5. Aseta aliikkunan telakointiasento.


1. Ali-ikkunan esittely:

  • Qt:ssä voit luoda ja hallita lapsiikkunoita (aliikkunoita) toteuttaaksesi moniikkunasovelluksia.

  • Alaikkunat voivat olla valintaikkunoita, itsenäisiä ikkunoita tai MDI (Multiple Document Interface) -alaikkunoita.

  • Luo lapsiikkunoita QDockWidget-luokan kautta.

2. Luo ali-ikkuna koodilla:

  • Luo alatason ikkunaobjekti: QDockWidget* dockWidget=new QDockWidget();
  • Lisää ali-ikkuna pääikkunaan: this->addDockWidget(Qt::LeftDockWidgetArea, dockWidget);

        

3.Aseta aliikkunan otsikko:

  • Aseta ali-ikkunan otsikko: dockWidget->setWindowTitle("Tämä on ali-ikkunan otsikko");

        

4. Lisää säätimiä alatason ikkunaan:

  • Kun lisäät ohjaimia ali-ikkunaan, et voi määrittää suoraan aliohjaimia tälle ikkunalle.
  • Luo ensin erillinen QWidget-objekti ja aseta sitten ohjausobjekti tähän QWidget-objektiin.
  • Aseta sitten tälle QWidget-objektille dockWidget.
  1. //为dockWidget赋予QWidget对象
  2. QWidget* container=new QWidget();
  3. dockWidget->setWidget(container);
  • Koska dockWidget voi sisältää vain yhden QWidget-objektin, jos haluat lisätä uuden ohjausobjektin, sinun on silti lisättävä se QWidget-objektiin.
  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. Aseta aliikkunan telakointiasento.

  • Aseta sallittu telakointipaikka setAllowAreas(Qt::DockWidgetArea | Qt::DockWidgetArea) -menetelmällä. Oletusarvo on Qt::LeftDockWidgetArea - vasen.
  • Neljä asentoa voidaan asettaa, ja oletusasento on ylhäällä:
  • Qt::TopDockWidgetArea——上
  • Qt::BottomDockWidgetArea——下
  • Qt::LeftDockWidgetArea——左
  • Qt::RightDockWidgetArea——右