我的目标是在单击按钮时动态创建一组命令链接按钮,然后将它们全部显示在 QscrollArea 内的垂直布局中。我从数据库中获取按钮的数据。为此,我为按钮创建了一个插槽,并在插槽函数中编写了以下代码。
QCommandLinkButton *slotButtons[10];
for(int i=0; slotQuery.next(); i++)
{
slotButtons[i] = new QCommandLinkButton;
slotButtons[i]->setText(slotQuery.value(0).toString());
slotButtons[i]->setDescription(slotQuery.value(1).toString());
ui->scrollAreaSlots->layout()->addWidget(slotButtons[i]);
ui->scrollAreaSlots->show();
slotButtons[i]->show();
}
这编译没有错误,但按钮不可见,即使在调用 show 之后也是如此。谁能告诉我哪里出错了?
更新:如果我删除所有“[i]”并评论循环;基本上只创建一个命令链接按钮,它工作得很好。但它不适用于循环。我的循环一切正常吗?