2012-02-15 17 views
7

¿Cómo puedo agregar dos objetos secundarios Widget en la misma porción de QMainWindow.añadiendo hijo en QMainWindow

MainWindow::MainWindow(QWidget *parent) 
    : QMainWindow(parent) 

{ TreeArea *ta= new TreeArea(this); 
    TreeArea *ta1= new TreeArea(this); 
. 
. 
. 
    TreeArea::TreeArea(QWidget *parent) : 
QWidget(parent) 
{ 
. 
. 
. 
+2

Tienes que usar un diseño. –

Respuesta

11

Como e-zinc sugirió que tiene que usar el diseño. Supongamos que desea insertar dos widgets en la ventana principal.

QHBoxLayout *layout = new QHBoxLayout; 

QPushButton *button1 = new QPushButton("button1"); 
QPushButton *button2 = new QPushButton("button2"); 

layout->addWidget(button1); 
layout->addWidget(button2); 

setCentralWidget(new QWidget); 
centralWidget()->setLayout(layout); 

Esto layout widgets de forma horizontal y obtendrá el siguiente resultado: QHBoxLayoutExample

Y si quieres a la disposición de ellos utilizar verticalmente QVBoxLayout

Me gustaría sugerir fuertemente la lectura de la documentación. Layout Management in Qt

+0

Estoy trabajando en una barra de título personalizada, y creo que este es el camino inicial a seguir: usar el diseño para comenzar a poner todo el widget allí – swdev

2

Uso QMainWindow::setCentralWidget(QWidget *) para añadir su propio control.