PyQt
David-Chow
知行合一,砥礪前行,腳踏實地,精益求精
展开
-
PyQT5线程:多线程(QThread),线程锁(QMutex)
在编写GUI界面中,通常用会有一些按钮,点击后触发事件,比如去下载一个文件或者做一些操作,这些操作会耗时,如果不能及时结束,主线程将会阻塞,这样界面就会出现未响应的状态,因此必须使用多线程来解决这个问题。两个按钮,分别在控制台打印不同的内容执行文件,分别点击两个按钮后,控制台会依次打印内容,多次点击按钮,程序会先循环完上一次的点击,然后再执行下一次的点击并且窗口可能会出现假死状态下面将这两个循环使用多线程来写,在PyQT5中,使用QThreadfrom Py...转载 2020-06-29 14:45:43 · 8222 阅读 · 0 评论 -
PyQt5详细教程:基于PyQt5 QTdesigner的PyQt编程(常用控件、线程编写、在pyqt内嵌Matplotlib)
PyQt5这个模块的最大优势在于界面可以使用qtdesigner直观的制作,然后代码直接读取就可以,省去了繁琐的排版等等步骤,而且界面的美观程度也是tk所无法达到的。用QTdesigner的时候最好在制作完界面后对界面进行布局,当然你不使用布局也是可以运行的,但是在别的电脑,分辨率不同的情况下会导致软件显示出问题,并且无法根据界面拉伸来解决。如果你布局过,那么可以使用界面的伸缩让界面自己重新排布。至于排版的方法就是选中你要布局的目标然后点击布局,在布局中你可以多运用Horizontal Spacer 和转载 2020-06-23 17:16:01 · 5769 阅读 · 0 评论 -
PyQt5 QComboBox控件(组合框控件,也称下拉框)使用
使用定义:组合框QComboBox其实就是把一个编辑框和一个列表框组合到了一起。组合框控件相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是组合框控件。它为我们的日常操作提供了很多方便。QComboBox 中addItem("")添加单个选项; addItems(列表)添加多个选项;例如:下面实现省市级联效果如下#QComboBox下拉列表控件使用,省市级联from PyQt5.QtWidgets import QPushBut原创 2020-06-18 17:39:33 · 3988 阅读 · 0 评论 -
PyQt5 文本编辑框QTextEdit和文本浏览框QTextBrowser
1 同步显示文本相信通过这两个控件的中文名大家应该也知道这两个控件的功能是什么了,前者用来编辑文本,后者无法编辑,只用于显示。我们将通过完成以下程序来讲解这两个控件的用法:左边为QTextEdit控件,右边为QTextBrowser控件。在左边输入文字时,右边会同步显示。请看下方代码:import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QLabel, QTextEdit, QTextBrowser, QHBoxLayo转载 2020-06-18 16:45:38 · 8752 阅读 · 3 评论 -
PyQt5实现鼠标绘制的界面
功能:使用户能够使用鼠标绘制数字,当按下鼠标按钮时,应用程序将开始绘制,直到释放按钮为止,同时实时显示鼠标所在的位置。class Drawer(QWidget): newPoint = pyqtSignal(QPoint) def __init__(self, parent=None): QWidget.__init__(self, parent) self.path = QPainterPath() def paintEvent(s.原创 2020-06-17 17:53:07 · 1463 阅读 · 1 评论 -
PyQt 中实例讲解对__init__(self,parent==None)中的 parent理解
parent作用在PyQt中,所有class都是从QObject派生而来,QWidget对象就可以有一个parent。这种parent-child关系主要用于两个方面:没有parent的QWidget类被认为是最上层的窗体(通常是MainWindow),由于MainWindow的一些操作生成的新窗体对象,parent都应该指向MainWindow。 由于parent-child关系的存在...原创 2020-03-23 13:52:49 · 10169 阅读 · 1 评论 -
在主窗口中增加绘图类控件时(以QPainter为例)时不显示内容的问题(不应该加addStretch)
问题引出假如我要实现以下GUI,包含一个主窗口,主窗口内又包含1个绘图类控件(QPainter中的QdrawText)和1个单行文本框控件(QLineEdit)。期望效果图开始实现的代码为:from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *class bui...原创 2020-01-10 16:56:15 · 1377 阅读 · 0 评论 -
PyQt5 clicked和clicked[bool]信号区别/setCheckable()的应用
在使用命令按钮QPushButton时,最常用的信号列表如下:信号 描述 pressed 当鼠标指针在按钮上并按下左键时触发该信号 released 当鼠标左键被释放时触发该信号 clicked 当鼠标左键被按下然后释放时,或者快捷键被释放时触发该信号 clicked[bool] 当按钮被第一次按下然后释放时发出信号,并将当前状态传...原创 2020-01-08 09:50:10 · 7692 阅读 · 0 评论 -
PyQt5在QWidget窗体中显示小“窗口”(Qwidget的自定义类)
这里的小“窗口”指Qwidget的自定义类,并不是指窗口(没有父类的控件称作窗口)。【概览】1、显示原生Qwidget 1)不使用布局(绝对定位) 2)使用布局2、显示Qwidget的自定义类 1)不使用布局(绝对定位)2)使用布局一、显示原生Qwidget1)不使用布局(绝对定位)这种情况下,原生QWidget部件...原创 2020-01-06 11:26:25 · 2580 阅读 · 0 评论 -
PyQt5 解决“cannot find reference QtWidgets in __init__.py”问题
问题发现装了pyqt5和pyqt5-tools,程序可以运行,但是一直跳转不到定义,如“cannot find reference QtWidgets in __init__.py”。解决方法首先:在pycharm setting 中找到Project Interpreter,然后找到PyQt5相关包升级到最新版;然后核对以下打勾的包是否安装,若没安装,pip...原创 2020-01-04 14:20:51 · 5825 阅读 · 0 评论 -
PyQt 5整体结构
A.1 PyQt5整体介绍PyQt5是基于图形程序框架Qt5的Python语言实现,由一组Python模块构成。PyQt5的官方网站是:www.riverbankcomputing.co.uk。PyQt5模块介绍的官网地址是:http://pyqt.sourceforge.net/Docs/PyQt5/introduction. html,如图A-1所示。图A-1Py...原创 2020-01-02 14:17:39 · 1480 阅读 · 0 评论 -
pyqtgraph绘制图:使用PyQtGraph绘制图形的6种方法
概念:画板,画布画板位于最底层,用于放置画布它只是辅助工具,并不需要我们实际操作; 画布位于画板之上,是我们绘图的基础; 绘图区是画布上用于绘图的区域,一块画布上可以开辟出多个独立的绘图区。对于一个图形的绘制,在PyQtGraph中有很多中方法可以实现。比如可以直接使用PyQtGraph的plot()方法绘制,或者是创建一个网格窗口,再其中添加绘制图形等。下面我们就一一了解一...原创 2019-10-28 17:36:48 · 33415 阅读 · 5 评论