阻止QWidgets动态堆叠在一起

时间:2015-03-17 13:16:56

标签: qt qwidget

我使用代码创建了所有QWidget并将它们放在一个标签中。但是,所有小部件都堆叠在一起。有没有办法动态移动小部件?可以将窗口小部件动态移动到窗口小部件中已存在的窗口数量吗?。据我所知,我必须使用move()移动它们,这可能很难在更多对象时跟踪添加。

QTabWidget* MainWindow::CreateTabWidget(){
    QTabWidget* tabWidget = new QTabWidget(ui->centralWidget);
    tabWidget->setFixedSize(this->size().width(),this->size().height()- 40);

    QWidget* tab = new QWidget();
    QLabel* label = new QLabel("Sektionnamn",tab);
    QLineEdit* line = new QLineEdit(tab);
    line->move(0,20);    

    tabWidget->addTab(tab,"Tab 1");

    return tabWidget;
}

1 个答案:

答案 0 :(得分:0)

使用QLayout:

QLabel* label = new QLabel("Sektionnamn");
QLineEdit* line = new QLineEdit();

QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(label);
layout->addWidget(line);
tab->setLayout(layout);