(收藏向,持续更新)pyqt5使用常见问题,遇到的坑及解决办法

目录

  • 一、界面卡死、多窗口、多线程和多进程相关
    • 1、PyQt5中使用线程QThread和Thread进行耗时操作的问题
    • 2、pyqt5 的多线程(QThread)遇到的坑
    • 3、主窗口关闭后子窗口仍在运行,或者窗口进程仍在运行
    • 4、子窗口关闭后,如何触发主窗口做相应操作
    • 5、主窗口关闭按钮被点击,进行关闭确认询问,且关闭所有线程
    • 6、查看pyqtgraph炫酷图例
    • 7、采用多线程(或多进程)画图窗口收到数据,窗口图像不更新显示
    • 8、多进程采用queue控制子窗口开启关闭
  • 二、部件性能与展示相关
    • 1、QTextEdit、QTextBrowser添加的文字超出视图后,滑动条自动移至最底部显示最新文本的解决办法
    • 2、如何让窗体右上角只显示关闭按钮(最大化按钮、或最小化按钮)
    • 3、在子窗口关闭后,如何通知主窗口进行进一步操作
    • 4、子窗口显示区域很小,且旁边有大量留白
    • 5、窗口运行之后,各个控件都挤成了一坨
    • 6、如何使用pyqt5和pyqtgraph在图像上增加图例并显示鼠标位置处的变量值
    • 7、如何画折线图并滚动显示更新横轴坐标,且保留全部信息
    • 8、基于pyqt5、pyqtgraph和GLViewWidget持续动态更新3D散点图点的位置,提高刷新帧数,使其有飘动的效果
    • 9、PythonGUI)如何将借助pyqt5和pyqtgraph绘制的图片输出保存到本地(支持jpg,svg,png等多个格式)
  • 三、常用功能实现的代码技巧
    • 1、python定时程序(每隔一段时间执行指定函数)
    • 2、pyinstaller打包后文件过大

一、界面卡死、多窗口、多线程和多进程相关

1、PyQt5中使用线程QThread和Thread进行耗时操作的问题

点击查看

2、pyqt5 的多线程(QThread)遇到的坑

点击查看

3、主窗口关闭后子窗口仍在运行,或者窗口进程仍在运行

点击查看
补充:在closeEvent()中可以设置其它的窗口被关闭后的操作

4、子窗口关闭后,如何触发主窗口做相应操作

可以通过signal触发的方式:

  • 在子窗口中设置signal,重写closeEvent(),使在子窗口右上角关闭按钮被点击后,触发closeEvent,signal.emit(),从而使得主窗口中实例的子窗口对象的signal.connect()的函数被触发。由此实现通知机制。

5、主窗口关闭按钮被点击,进行关闭确认询问,且关闭所有线程

先,之后便可在命令行中输入代码:

从而会发现一个新世界~

7、采用多线程(或多进程)画图窗口收到数据,窗口图像不更新显示

这有可能是因为你在语句前写了或者
例如:

因此,上面的例子可以不用,直接在函数中写个循环即可,改为:

8、多进程采用queue控制子窗口开启关闭

主窗口关闭按钮被触发,函数向queue中放入字符串,子窗口进程提取到后,关闭子窗口。
但是当子窗口较多时,发现会有些窗口没有关闭。经过一番测试后,发现,原因是主窗口关闭较快,有的queue中未及时放入,在前加个微小的延时即可。

二、部件性能与展示相关

1、QTextEdit、QTextBrowser添加的文字超出视图后,滑动条自动移至最底部显示最新文本的解决办法

点击查看
建议采用

2、如何让窗体右上角只显示关闭按钮(最大化按钮、或最小化按钮)

点击查看

3、在子窗口关闭后,如何通知主窗口进行进一步操作

点击查看

4、子窗口显示区域很小,且旁边有大量留白

点击查看
上文也解析了如何用pyqtgraph绘制3D散点图,希望能帮到你。

5、窗口运行之后,各个控件都挤成了一坨

这个 上也有一些教程,不过我的解决方法是修改了窗口类的继承。如下:

6、如何使用pyqt5和pyqtgraph在图像上增加图例并显示鼠标位置处的变量值

点击查看

7、如何画折线图并滚动显示更新横轴坐标,且保留全部信息

点击查看

8、基于pyqt5、pyqtgraph和GLViewWidget持续动态更新3D散点图点的位置,提高刷新帧数,使其有飘动的效果

点击查看

9、PythonGUI)如何将借助pyqt5和pyqtgraph绘制的图片输出保存到本地(支持jpg,svg,png等多个格式)

点击查看

三、常用功能实现的代码技巧

1、python定时程序(每隔一段时间执行指定函数)

点击查看
的设置很灵性

2、pyinstaller打包后文件过大

点击查看

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览208784 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月11日
下一篇 2020年10月11日

相关推荐