Add*_*ddy 3 c++ macos qt qmessagebox
我有一个应用程序,我想在用户问一个问题QMessageBox,然后做出相应的回应.问题是在Mac上我希望对话框显示为Sheet,但使用该open()方法立即返回.
QMessageBox* msgBox = new QMessageBox(
QMessageBox::Question,
"Delete Record?",
"Are you sure you want to delete this record?"
QMessageBox::Yes | QMessageBox::No,
this,
Qt::Sheet);
int ret = msgBox->exec(); // does not show up as a sheet on Mac
msgBox->open(); // shows up as a sheet but returns immediately
Run Code Online (Sandbox Code Playgroud)
无论如何,我可以得到用户在纸张上按下哪个按钮而不必实现我自己的按钮QDialog?msgBox我连接的信号是什么?
该文件建议setWindowModality()改为使用.以下代码适用于我:
auto m = new QMessageBox(&window);
m->setText("some text here");
m->setWindowModality(Qt::WindowModal);
m->exec();
Run Code Online (Sandbox Code Playgroud)
这是我的应用程序中的 PyQt 示例,但您会明白:
reply = QtGui.QMessageBox.question(self, 'Delete',
"Are you sure?", QtGui.QMessageBox.Yes |
QtGui.QMessageBox.No, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
#some action if YES clicked
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1782 次 |
| 最近记录: |