【问题标题】:How use asyncio with pyqt6?如何在 pyqt6 中使用 asyncio?
【发布时间】:2021-10-24 03:56:18
【问题描述】:

qasync 还不支持 pyqt6,我正在尝试在与 pyqt 相同的循环中运行 discord.py,但到目前为止我还没有做得最好。我尝试过多进程、多线程,甚至从非同步代码运行同步代码,但我要么最终得到使 pyqt 程序无响应的阻塞代码,要么完全不起作用。有人可以指出我正确的方向吗?

【问题讨论】:

  • 在 qasync 支持 PyQt6 之前,为什么不使用 PyQt5 或 PySide2 或 PySide6?
  • 在我意识到我需要它之前,我用 pyqt6 创建了我的程序,并将它移植到 pyqt5 有点粗糙。我需要重新创建不理想的程序:/
  • @Lino 现在 PyQt6 与 5 几乎没有区别,除非您使用 Qt6 中添加的特定新功能,否则唯一的大区别是枚举的使用。此外,AFAIK,如果您使用最新版本的 PySide2,则根本不会出现问题,因为它已经支持该命名模式。对于 [非常] 未来的参考,在处理非常新的主要版本时,请始终检查支持的功能:Qt6 发布不到 9 个月(对于像 Qt 这样的 huge 工具包来说,这并不是很多是),并且 Qt5 的许多功能已被暂时删除,直到它们被认为是成熟的。

标签: python pyqt python-asyncio pyqt6


【解决方案1】:

qasync 目前不支持 PyQt6,但我创建了一个 PR 来实现它。

目前您可以使用以下命令安装我的 qasync 版本:

pip install git+https://github.com/eyllanesc/qasync.git@PyQt6

可能在未来的版本中我的 PR 将被接受,因此已经支持 PyQt6

他们已经接受了我的 PR,所以你已经可以安装支持 PyQt6 的最新版本的 qasync。

【讨论】:

    猜你喜欢
    • 2021-08-04
    • 1970-01-01
    • 2022-01-17
    相关资源
    最近更新 更多