我正在尝试构建一个 QLabel
,当我按下 QPushButton
时,我希望它出现;代码很简单:
void Mod28::on_pushButton_clicked()
{
AddItem();
}
void Mod28::AddItem()
{
QLabel *label_n = new QLabel(this);
label_n->setObjectName(QStringLiteral("label_n"));
label_n->setGeometry(QRect(20, DimVert, 25, 17));
label_n->setFrameShape(QFrame::Box);
label_n->setNum(ItemCounter);
}
什么也没出现。相反,如果我将 AddItem()
放入以下内容中:
Mod28::Mod28(QWidget *parent) :
QWidget(parent),
ui(new Ui::Mod28)
{
ui->setupUi(this);
AddItem(); // here, for example, is ok !!!!
}
如何解决?我需要在按下按钮时出现 QLabel
。
最佳答案
将标签添加到您想要在其中显示的小部件。
例如这一行将标签添加到centralWidget布局:
ui->centralWidget->layout()->addWidget(label_n);
你的功能:
void Mod28::AddItem()
{
QLabel *label_n = new QLabel(this);
//
//
//
ui->centralWidget->layout()->addWidget(label_n);
}
关于c++ - 与 PushButton 关联的 QLabel 不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46075489/