2017-04-25 4 views
0

Bitte können Sie mir helfen. Ich habe ein klassisches Hauptfenster in Qt Projekt und ich möchte es in vier SAME Teile - Widgets teilen. Ich brauche ein erstes Widget im ersten Teil und andere Teile müssen leer sein. Und später, später in meinem Programm, möchte ich weitere Widgets zu anderen Teilen hinzufügen. Wichtig ist, das Hauptfenster in vier Teile für Widgets der gleicher Größe zu teilen.Qt Hauptfenster in vier Widgets teilen

Ich habe diesen Code, aber es teilt ein Hauptfenster in vier Teile unterschiedlicher Größe. Einer ist zu groß und ein anderer ist nur sehr klein usw.

In Szene [..] -> Spielansicht sind Widgets einzufügen.

HINWEIS: Ich verwende keine .ui-Datei, ich code alles manuell.

 containter = new QWidget(this); 
     container_layout = new QVBoxLayout; 
     containter2 = new QWidget(this); 
     container_layout2 = new QVBoxLayout; 
     central = new QWidget(this); 


     splitter1->addWidget(scenes[0]->gameview); 
     splitter1->addWidget(scenes[1]->gameview); 



     container_layout->addWidget(splitter1); 
     containter->setLayout(container_layout); 

     splitter2->setOrientation(Qt::Vertical); 
     splitter2->addWidget(containter); 
     if(number_of_scenes == 3) 
     { 

      splitter3->addWidget(scenes[2]->gameview); 
      splitter3->addWidget(new QWidget); 
      container_layout2->addWidget(splitter3); 
      containter2->setLayout(container_layout); 
     } 
     else if(number_of_scenes == 4) 
     { 

      splitter3->addWidget(scenes[2]->gameview); 
      splitter3->addWidget(scenes[3]->gameview); 
      container_layout2->addWidget(splitter3); 
      containter2->setLayout(container_layout); 
     } 
     else 
     { 

      splitter3->addWidget(new QWidget); 
      splitter3->addWidget(new QWidget); 
      container_layout2->addWidget(splitter3); 
      containter2->setLayout(container_layout); 
     } 

     splitter2->addWidget(containter2); 
     layoutt->addWidget(splitter2); 

     central->setLayout(layoutt); 
     setCentralWidget(central); 
+1

Werfen Sie einen Blick auf [QGridLayout] (https://doc.qt.io/qt-5/qgridlayout.html). Das Schlüsselwort ist 'stretchFactor'. Mit diesem Faktor können Sie festlegen, wie viel proportionaler Abstand ein Element in einem Layout einnehmen soll. – Felix

Antwort

Verwandte Themen