【问题标题】:Stop QWidgets from stacking on top of each other dynamically阻止 QWidgets 动态堆叠
【发布时间】:2016-04-22 00:36:26
【问题描述】:

我用代码创建了我所有的QWidgets 并将它们放在一个选项卡中。然而,所有的小部件都堆叠在彼此的顶部。有没有办法动态移动小部件?可以将小部件动态移动到小部件中已有的数量?。
众所周知,我必须使用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;
}

【问题讨论】:

    标签: qt qwidget


    【解决方案1】:

    使用 QLayout:

    QLabel* label = new QLabel("Sektionnamn");
    QLineEdit* line = new QLineEdit();
    
    QHBoxLayout *layout = new QHBoxLayout;
    layout->addWidget(label);
    layout->addWidget(line);
    tab->setLayout(layout);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-09
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-23
      • 1970-01-01
      相关资源
      最近更新 更多