2012-02-15 66 views
7

Làm cách nào để thêm hai trẻ em Widget đối tượng có phần bằng nhau là QMainWindow.thêm trẻ em vào QMainWindow

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

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

Bạn phải sử dụng bố cục. –

Trả lời

11

Vì e-kẽm đề xuất bạn phải sử dụng bố cục. Giả sử bạn muốn chèn hai widget vào mainwindow.

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); 

này sẽ bố trí vật dụng theo chiều ngang và bạn sẽ nhận được kết quả này: QHBoxLayoutExample

Và nếu bạn muốn bố trí chúng theo chiều dọc sử dụng QVBoxLayout

Tôi mạnh mẽ sẽ khuyên bạn nên đọc tài liệu. Layout Management in Qt

+0

Tôi đang làm việc trên thanh tiêu đề tùy chỉnh và tôi nghĩ đây là cách ban đầu để đi: sử dụng bố cục để bắt đầu đặt tất cả tiện ích ở đó – swdev

2

Sử dụng QMainWindow::setCentralWidget(QWidget *) để thêm điều khiển của riêng bạn.

Các vấn đề liên quan