我正在寻找一种从 QDialog 小部件获取按下按钮的简单方法。 (所有按钮在按下事件后完成对话框,许多按钮)。这样:
MyDialog *ptrMyDialog = new MyDialog;
ptrMyDialog->exec(); // blocked til finished
// ???
QAbstractButton * btn = ptrMyDialog->Function_I_Need();
// or. I only need a spezific return value, set by button. e.g
auto retValIneed= ptrMyDialog->exec();
任何提示都会有帮助
问候拉斯
最佳答案
QDialog exec()已经返回对话框是否为 accepted或 rejected .如果这两者之间的区别不够明显,因为您已经有了一个自定义类,您可以轻松地自己实现此类行为。
任何按钮都已经调用了关闭对话框的函数之一,因此您可以简单地将按下的按钮存储在类的成员中,并使用您想要的方法检索该值。
另一种可能性是重载 exec()
,在其中调用基类实现并返回您的自定义成员,该成员直接存储之前按下的按钮。
关于c++ - QDialog : need pressed button or return value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42714780/