gpt4 book ai didi

c++ - 如果 QWidget 在屏幕上不可见,为什么我只能在运行时向 QWidget 添加元素?

转载 作者:搜寻专家 更新时间:2023-10-31 00:45:31 27 4
gpt4 key购买 nike

在运行时尝试向 QWidget 添加按钮时,我遇到了一个奇怪的问题。我有一个带有 QTabWidget 的窗口,它有 2 个选项卡。当我按下窗口上的按钮时,它会在第一个选项卡上生成一组复选框。

问题是,当我打开第一个选项卡时,按下按钮时没有任何反应,但如果我打开第二个选项卡,按下按钮,然后返回到第一个选项卡,复选框就会正确显示。这是创建复选框的代码示例:

for(int i = 0; i < x_dim; ++i){
for(int j = 0; j < y_dim; ++j){
checkBoxVector.append(new QCheckBox( ui->dim1 ));
checkBoxVector.last()->setGeometry(i * 20, j * 20, 20, 20);
}
}

我必须在 QTabWidget 中启用某种属性才能使其正常工作吗?

最佳答案

您可能需要显示() 新创建的小部件并让布局更新:

checkBoxVector.last()->show();
ui->dim1->updateGeometry();

关于c++ - 如果 QWidget 在屏幕上不可见,为什么我只能在运行时向 QWidget 添加元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6698657/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com