gpt4 book ai didi

mysql - Qt4:如何在线程之间传输mysql查询?

转载 作者:行者123 更新时间:2023-11-29 12:05:22 28 4
gpt4 key购买 nike

我的应用程序读取 mysql 数据库并根据 mysql 查询绘制表。我想使用进度条,但我不能,因为 QSqlDatabase 进程卡住了我的主窗口。

我在某处读到,我应该分离 gui 和 mysql 进程的线程并使用进程间通信,但找不到任何示例。在线程之间传输 mysql 查询的最佳方式是什么?

最佳答案

有两种方法可以防止 GUI 卡住:

  • 将及时计算卸载到工作线程并进行通信通过信号与主 GUI 线程交互。

  • 要求您的 GUI 线程处理其在事件循环。

我建议选择第二个选项,因为它很快并且通常可以解决此类问题。但请记住,这不是一种干净的做事方式,人们应该将要求较高的计算从主 GUI 线程中挤出来。

第二个解决方案涉及在查询消耗循环中的某个位置放置一个函数调用。一般架构是:

While(query.next()){
...
QApplication::processEvents();
...
}

关于mysql - Qt4:如何在线程之间传输mysql查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31570087/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com