2017-04-25 10 views
0

私を助けてください。 私はQtプロジェクトに古典的なメインウィンドウを持っており、それを4つのSAME部品 - ウィジェットに分割したいと考えています。最初の部分には1つのウィジェットが必要で、もう1つの部分は空でなければなりません。その後、私のプログラムの後半で別のウィジェットを別の部分に追加することにしました。重要なのは、ののウィジェット用にメインウィンドウを4つに分割することです。メインウインドウを4つのウィジェットに分割Qt

私はこのコードを持っていますが、メインウィンドウを4つの異なるサイズに分割しています。 1つは大きく、もう1つは非常に小さいなどです。

シーン内では、挿入するウィジェットです。

メモ:私は.uiファイルを使用しません。私はすべてを手動でコーディングします。

 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

[QGridLayout](https://doc.qt.io/qt-5/qgridlayout.html)をご覧ください。キーワードは 'stretchFactor'です。この係数を使用すると、レイアウト内の1つの要素がどのくらいの比例スペースを占めるかを定義することができます。 – Felix

答えて

関連する問題