PyQt5
lee_swift13
已找到心仪的工作!!!
展开
-
PyQt5之使用Twisted实现两个窗口之间的通信(二)
上一篇PyQt5之使用Twisted实现两个窗口之间的通信(一)给大家介绍了PyQt5中如何使用Twisted框架实现两个窗口之间的通信,包括后台服务器和客户端的搭建,以及如何应用到界面中来,实现两个窗口界面互相发送字符串消息。这一篇将给大家介绍发送除字符串以外的格式的数据,比如类、字典、列表这些数据类型,同时介绍一个窗口如何与另一个窗口中的子对话框进行收发消息。首先直接上代码,客户端和服务器端的文件和上一篇一样,这里只放窗口界面的代码。其中服务器主窗口部分是用Qt Designer画的,然后创建一个如下原创 2020-07-16 18:02:22 · 583 阅读 · 0 评论 -
PyQt5之使用Twisted实现两个窗口之间的通信(一)
最近做项目也基本步入后端开发的阶段了,之前简单学习了下数据库的知识,实现了些增删改查的功能,这几天有忙着搞通信的部分了,需要实现两个软件之间的通信,因为之前从未接触过通信部分,而且PyQt的通信网上资料也不多,老师还选了个冷门的Twisted框架,所以学起来比较费劲,好在目前也实现了基本的通信,所以在这里记录一下我们这几天的成果!一、构建客户端和服务器端文件因为这个项目使用的C/S架构,所以通信部分自然需要一个软件作为服务器端实时监听,另一个作为客户端与服务器进行连接并互相收发消息。而Twisted框架原创 2020-06-30 19:36:10 · 1269 阅读 · 1 评论 -
PyQt5之对MySQL数据库进行更新、插入和删除操作
上一篇介绍了如何在PyQt5中实现连接mysql以及通过按钮进行简单查询数据库信息并显示到界面上:PyQt5之连接MySQL数据库以及查询获取数据。在这一篇中我将介绍其余三个数据库的基本操作:更新、插入和删除,主要通过例子来介绍在界面中如何实现这些操作!1、画好界面和上一篇PyQt5之连接MySQL数据库以及查询获取数据一样的界面,如下图所示:2、更新数据库中的表如下图所示,还是之前的那个表,现在实现在上图的界面中的右边表格里输入ID和姓名后,点击【更新数据】按钮后把下图中的表中对应的ID的信息进原创 2020-06-19 21:52:28 · 6025 阅读 · 4 评论 -
PyQt5之连接MySQL数据库以及查询获取数据
最近做界面终于需要用到数据库了,本科学过的基本忘光噜,所以临时快速入门了一下!先记录一波!步骤呢,首先mysql以及pyqt5肯定是需要的,然后就是安装python连接mysql的库pymysql,在cmd中用pip install pymysql安装就好了(注意:pymysql是python3才开始用的库)。1、连接mysql...原创 2020-06-08 21:21:28 · 16345 阅读 · 5 评论 -
PyQt5标签控件QLabel的一些有用的方法
这里将介绍一些本人使用QLabel控件时遇到的一些不常见但也有一定用处的方法,会不定时更新!1、设置换行有时候在窗口上需要限制标签控件的宽度,那么就可能需要对文本内容进行换行,但是在Qt设计界面里是无法手动直接去换行的,需要在代码中调用该标签对象的换行方法,如下所示,就可以实现换行了!(注意,只有文本长度超过了控件宽度才可以自动换行!)self.label.setWordWrap(True)2、设置图片自适应QLabel尺寸标签控件可以加载图片,但是图片和控件尺寸不一样时就会出现空白部分,而且原创 2020-06-02 10:34:56 · 1441 阅读 · 1 评论 -
Qt5与PyQt5UI设计界面出现控件文字显示不完全的问题
应该有不少人遇到过这种情况,在Qt5或PyQt5的设计师界面中拖拽控件编辑文本内容后,再运行就会出现显示不全的问题,如下图所示:可以看到添加的按钮和Label控件在设计界面上显示是正常的,但是运行后就显示不完全了。虽然这种问题可以通过手动拉大控件或者采用布局来解决,但总归是很麻烦的。后来在网上找了发现原来是Qt不能自适应高清屏幕的原因,现在很多电脑都是至少1080高清的屏幕了,所以为了桌面图...原创 2020-04-16 14:54:46 · 10140 阅读 · 5 评论 -
PyQt5在Qt Designer中添加的控件上显示图表
上一篇我介绍了一下如何在窗口上显示动态图表,但是这种是针对纯使用代码建立窗口界面的情况,如果是需要设计一个比较复杂的窗口,还是得需要用到Qt Designer创建ui文件!但在ui界面中拖拽的控件就无法使用上述的代码实现,所以这次给大家介绍一下如何让ui文件中的控件可以显示图表,很简单,往下看。首先,需要在Qt Designer中创建一个主窗口,添加一个widget控件和一个按钮,如下图所示,同...原创 2020-04-09 23:59:03 · 9434 阅读 · 1 评论 -
PyQt5在窗口上显示动态图表
在某些情况下,可能需要在窗口界面中显示动态图表来体现数据的更新变化。本人正好在做项目中碰到了这种情况,需要动态显示一个甘特图,就以此为例告诉大家怎么实现。首先,直接上完整代码:import sysimport matplotlibimport datetimematplotlib.use("Qt5Agg")from PyQt5 import QtCorefrom PyQt5.QtWi...原创 2020-04-07 23:35:10 · 6312 阅读 · 0 评论 -
PyQt5事件处理之定时在控件上显示信息
有时候为了体现延时效果,或者是多事件处理,需要在窗口的文本编辑框或者表格等控件中,延迟几秒或每隔几秒显示输出一段数据,又或者可以说是每隔几秒执行下一行代码!要实现这种效果,关键的两个方法就是time.sleep()与processEvents(),具体看如下代码:from PyQt5 import QtCore, QtGui, QtWidgetsimport sysfrom PyQt5.Qt...原创 2020-03-24 17:54:59 · 1416 阅读 · 1 评论 -
PyQt5文本框控件QLineEdit的常用方法
本文主要记录一下单文本框控件QLineEdit()类的一些方法以及每个方法的使用情况与遇到的问题,会不定期更新!!!1、setPlaceholderText()与setText()两个方法都是可以设置文本框中显示的文本内容的,不过效果不一样,第一个更是浮显文字,更像是一种默认提示,第二种就是正常与手动输入的那样显示效果!使用方法与效果如下所示:lineE1 = QLineEdit(self)...原创 2020-03-15 22:50:43 · 8638 阅读 · 2 评论 -
PyQt5在窗口中显示网页页面
要想在PyQt5的窗口中显示地图,可以使用QWebEngineView类(注意:老版本没有这个类),当然比较版本5.11及以上也没有这个类,可以使用pip安装!如下是两种安装方法,推荐第二种,因为第一种可能太慢或失败!pip install PyQtWebEnginepip install PyQtWebEngine -i https://pypi.douban.com/simple/安...原创 2020-03-14 22:06:22 · 4382 阅读 · 3 评论 -
PyQt5主窗口点击按钮弹出子窗口对话框
首先在Qt Designer中创建一个主窗口和一个对话框子窗口,如下图所示:设计完成后,转换成两个py文件,对于两个分开的文件实现子窗口的调用,我看了一些资料,基本都是新建一个文件然后实现显示主窗口以及调用子窗口,不是我想要的,所以在下面给出我的实现方法,就在主窗口一个文件中实现。首先在主窗口文件中导入子窗口的文件,以及创建一个子窗口类初始化窗口,代码如下:from ChildWindow...原创 2020-03-13 16:19:59 · 11459 阅读 · 8 评论 -
PyQt5与Qt Designer导入图片资源问题
要想在Qt Designer控件中添加图片,使用qrc文件,然后在资源浏览器中导入图片资源,以Label控件为例,添加标签控件到窗口后,在属性编辑器中找到pixmap属性,点击后面的框选择一张图片即可!...原创 2020-03-12 15:22:15 · 6505 阅读 · 0 评论 -
Qt Designer 控件自适应窗口变化布局问题
不知到有没有人遇到过这种情况:就是在Qt Designer中新建一个窗口后,然后添加控件后,为了使控件随窗口变大而一起变大,需要对整个窗口进行一个布局才可以。但是布局后,在Qt Designer中预览是可以的,而到了Pycharm等编辑器中运行就不行了,如下图所示:可以看到,在Pycharm中运行后按钮都缩在一块,而且也不会像预览里那样自适应窗口放大。这个真的很费解,花了一天才弄明白,其实...原创 2020-03-12 12:02:27 · 2978 阅读 · 1 评论 -
The file contains top level spacers. They will not be saved.Perhaps you forgot to create a layout
当你用Qt Designer设计界面时,用到了Spacers栏中的窗口控件或者Display Widgets栏中的Horizontal Line等布局有关的控件时,直接保存可能会弹出如下提示:提示你无法保存,这时因为你只加把布局控件加了上去,并没有对整个窗口的控件进行布局调整,所以可能无法成功使用那些布局控件!因此,你需要对整体布局进行一个调整,如下所示:在对象查看器中鼠标右键选择主对象,...原创 2020-03-05 15:04:44 · 15472 阅读 · 20 评论