【问题标题】:How can I add a QWidget as a sub widget to another QWidget after init?如何在初始化后将 QWidget 作为子小部件添加到另一个 QWidget?
【发布时间】:2014-11-03 13:54:19
【问题描述】:

我想做的事情很简单。每当我触发某个插槽时,我想将 QLabel 添加到 QFrame(或 QWidget)。

如果我将下面的代码放在MainWindow 的构造函数中,即使在ui->setupUI(this) 之后:

QLabel * pLabel = new QLabel("abc", ui->frame);

这行得通

但是,如果我将此行移至 MainWindow 的插槽,例如shortcut,它不会显示任何东西。 如何正确添加?

注意:我不想将它添加到布局中。我需要它覆盖在其他人身上,我需要管理它的确切位置。

【问题讨论】:

    标签: qt qwidget


    【解决方案1】:

    您必须在创建 QLabel 后显式调用 show()

    QLabel * pLabel = new QLabel("abc", ui->frame);
    pLabel->show();
    

    来自documentation

    ...如果您将子小部件添加到已经可见的小部件,则必须 明确显示孩子使其可见...

    【讨论】:

      猜你喜欢
      • 2020-07-09
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多