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

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

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

  • 写回答

2条回答 默认 最新

  • 关注

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

    评论

报告相同问题?

问题事件

  • 创建了问题 1月7日

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题