QDialog:需要按下按钮或返回值

QDialog: need pressed button or return value

本文关键字:按钮 返回值 QDialog      更新时间:2023-10-16

i'am搜索一种简单的方法来获取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();

任何提示都会有用

尊重Lars

qdialog exec()已经返回对话框是被接受还是拒绝。如果这两者之间的区别还不够,因为您已经有一个自定义类,您可以自己轻松地实施此类行为。

任何按钮已经调用了关闭对话框的功能之一,因此您可以简单地存储哪个函数,然后使用您想要的方法将其按在类的成员中并检索该值。

可能是过载exec(),调用其中的基类实现,然后返回您的自定义成员,该定制成员像以前一样按下按钮。

处理MyDialog中的按钮时,您将调用SetResult(Int R)方法 exec())。有关此操作的详细信息,您可以检查 qmessagebox 实现,因为那里 exec()返回实际按钮ID。