我正在使用自定义对话框,并通过调用显示它:
this->numberPick.move(point);
this->numberPick.setWindowFlags(Qt::SplashScreen);
this->numberPick.setParent(this);
this->numberPick.setModal(true);
this->numberPick.exec();
所有这些代码都在void MainWindow::on_boardView_clicked(const QModelIndex &index){}
中调用(事件"点击"来自QTableView
)。
问题很奇怪。我需要点击我的按钮3次才能显示对话框。第二次点击后,Qt Creator会给我一个警告"QDialog::exec: Recursive call detected"
。
有趣的是,这只发生一次(在单个应用程序实例中)。下一次点击就像魅力一样。
答案 0 :(得分:0)
我还没有解决这个问题,但我做了一些解决方法,它的工作原理如下:
this->numberPick = new NumberPick(this);
this->numberPick->setCell(cell);
this->numberPick->move(point);
this->numberPick->setWindowFlags(Qt::SplashScreen);
this->numberPick->exec();
delete this->numberPick;
但问题仍然存在