c++ - QDialog : need pressed button or return value

标签 c++ qt

我正在寻找一种从 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()已经返回对话框是否为 acceptedrejected .如果这两者之间的区别不够明显,因为您已经有了一个自定义类,您可以轻松地自己实现此类行为。

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

另一种可能性是重载 exec(),在其中调用基类实现并返回您的自定义成员,该成员直接存储之前按下的按钮。

关于c++ - QDialog : need pressed button or return value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42714780/

相关文章:

c++ - boost 变体返回类型

c# - 我怎样才能学会 DirectShow 编程?

c++ - 与泛型混淆

c++ - QTcpSocket 发送的数据比想要的多 - Qt/C++

c++ - 使用 UDP 协议(protocol)接收数据并读取数据报

c++ - 如何权衡精度和速度以评估 C++ 中两个 vector 的点积符号? (不是硬件特定的)

c++ - 虚拟方法和模板方法 C++

c++ - 使用STL方法在c++中对多维数组进行排序

c++ - 在 qt 中创建 QLabels 的 QVector

c++ - Windows 上用于非 ASCII 文件名的 opencv imread()