silver_guy 2022-01-07 16:36 采纳率: 0%
浏览 187

Qt子线程中使用QFileDialog类选择文件

之前尝试在Qt的子线程中使用QMessageBox后程序崩溃退出了,后来查资料原因是UI界面不能在Qt的子线程中运行。今天我无意在子线程中调用了QFileDialog类打开了一个窗口,发现程序正常执行了。我发现QMessageBox与QFileDialog都是集成自QDialog,但是一个是正常的一个不是。请问一下这个的原因是什么,是不是QFileDialog类比较特殊,可以在子线程中运行呢?

  • 写回答

2条回答 默认 最新

  • 关注

    UI必须在主线程中调用,因为在子线程中调用不安全(不是不能调用,但是在子线程中调用可能会出未知的错误,所以规定不允许在子线程中调用)

    评论

报告相同问题?

问题事件

  • 创建了问题 1月7日