c++ - Qt 阻塞调用以显示对话框?

标签 c++ qt blocking qml

我正在研究 Qt 和 QML。

所以我想要一个阻塞调用来显示一个对话框并检索用户输入。调用保证不在当前 UI 线程上。

我有使用 QML 创建的 QDeclarativeView 对象。我可以使用 show 方法 () 显示它。但现在我想阻止直到用户点击确定/取消,此时我将从对象中提取信息并将信息返回给调用者。

所以问题是:

  • 这是使用 QT 的合理方式吗
  • 如果是这样,我如何使当前线程阻塞?

最佳答案

使用连接到 QDialog::exec() 插槽的 Qt::BlockingQueuedConnection。

http://doc.qt.io/qt-5/qt.html#ConnectionType-enum

关于c++ - Qt 阻塞调用以显示对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5161761/

相关文章:

c++ - 避免返回引用参数

c++ - 如果键相同,如何使用其值对 map 元素进行排序?

c++ - Visual C++ - UTF-8 - CA2W 后跟带有 MBCS 的 CW2T - 可能是个坏主意?

c++ - Qt 问题到全屏 Flash 应用程序

java - Netty - 阻塞操作在完成之前不接受客户端请求

java - 如何使用单独的任务执行器来阻止 netty 中的子任务?

c++ - 为什么 C++ 中的 main() 函数不采用除 int 和 void 以外的任何其他返回类型

c++ - 如何使用 QDialogBu​​ttonBox 处理程序中止退出对话框?

c++ - 绘制财务数据

python - 无法在 Python 上使用 Selenium 定位弹出窗口上的元素