2
在运行时尝试将按钮添加到QWidget时,我遇到了一个奇怪的问题。我有一个QTabWidget窗口,它有2个选项卡。当我按下窗口上的按钮时,它会在第一个选项卡上生成一个复选框数组。如果QWidget在屏幕上不可见,为什么我只能在运行时将元素添加到QWidget?
问题是,当我打开第一个标签页时,按下按钮时没有任何反应,但如果我打开第二个标签页,请按下按钮,然后返回到第一个标签页,复选框正确显示。这是从用于创建复选框代码示例:
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这个工作,因为它应该?
你可能只需要调用qApp-> processEvents()加入后? –
你可以给我一个调用这个函数的例子吗? Qt文档有点混乱(不太清楚如何使用标志)。谢谢! –
你会把qApp-> processEvents();在你的两个for循环之后。弗兰克奥斯特费尔德的答案不那么沉重,先试试! –