python用pyqt5为程序添加GUI后功能和界面只能二选一运行

发布于 2022-01-04 07:26:03 字数 471 浏览 837 评论 11

情况是这样的,最近我为我的python程序添加一个GUI,整合到一起的时候点解button运行程序功能代码的时候却失去响应了。

 因为我没有注释代码中的print,因此可以看到功能能正常运行,但是界面却失去响应了。

后来意识到应该是线程的问题,然后尝试了使用

threading模块甚至
multiprocessing模块来尝试都解决不了

这是涉及到线程或进程的问题?如果是为什么我尝试将功能当代码的调用封装到一个函数中传到threading中开启新线程却依然解决不了。

请问大神们都是怎么解决GUI应用程序的线程问题的

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

明媚如初 2022-01-08 06:51:08

这个要看他的实现,我觉得那个while没用

把回忆走一遍 2022-01-08 06:47:20

回复
好似是没用,但是那个join貌似是必须要有的,因为我注释掉后代码运行成功后就退出来了

德意的啸 2022-01-08 06:46:16

回复
不过仔细想一想 这个while应该是用来无限循环休眠看门狗的,设定一个时间让他隔一定时间监控一下目录变化。但是我现在的问题就是找出来了。需要解决这个阻塞了GUI

够钟 2022-01-08 06:45:54

引用来自“mr_chip”的评论

贴个button的slot代码

归属感 2022-01-08 06:42:02

回复
但是,我现在将看门狗的代码注释后,单纯测试自己写的逻辑功能和GUI共存也不能实现

冬天旳寂寞 2022-01-08 06:01:11

回复
奇迹....我重打开pycharm就可以了

醉生梦死 2022-01-08 05:24:27

回复
但是我仍然需要点击按钮运行完功能后自动进入目录监控,等有新增的文件 程序继续重复点击按钮时候的功能

孤独患者 2022-01-08 02:21:45

回复
开一个监控目录的线程,然后用signal和slot来和UI交互

青萝楚歌 2022-01-07 23:30:55

回复
@mr_chip :感谢,我已经解决了阻塞了。然后我剩余最后的一点疑惑就是,我将原先在控制台print的内容打印在文本框中,结果发现GUI不一会就自己退出了。难道文本框还有内容溢出的坑的么?像我们平时的exe安装包 那么多信息在文本框打印出来也不会说崩掉什么的。请问您知道这是什么原因么?

恋你朝朝暮暮 2022-01-07 14:39:11

引用来自“mr_chip”的评论

贴个button的slot代码

梅窗月明清似水 2022-01-07 14:34:01

贴个button的slot代码

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文