我有一个包含一堆子类 QSpinBox 的子类 QDialog。单击旋转框时,您可以在其中使用按钮输入数字的小键盘(另一个 QDialog)。两个 QDialog 都是通过调用 QDialog::exec(); 来激活的。
但是,当打开第二个 QDialog 时,第一个会关闭。我已经通过它并注意到第一个 QDialog 还没有结束。QDialog 1在我完成QDialog 2后发出“QDialog::Rejected”。我想要的是QDialog 1根本不结束,它需要用输入的值更新spinbox并为其他spinbox打开更多的QDialog用户想稍后编辑。
我认为这与 QDialog 1 的事件循环被 QDialog 2 的事件循环杀死有关。我尝试在 QDialog 2 上使用 QDialog::show。小部件会弹出片刻(毫秒)但不会保持活动状态。QDialog 1 也立即关闭。