PyQt5
文章平均质量分 77
水月灯花
python、小程序、网站都会做,可以帮忙哦!
展开
-
pyqt5中使用信号槽实现qtextedit追加式写入内容
0、使用信号与槽的机制可以在多线程中随意修改控件的内容,信号槽具有多中方式,可以传递str,int等类型变量1、首先在class类的下方定义一个信号槽m_singal = pyqtSignal(str) # 定义一个信号槽2、在__init__方法中进行信号槽的初始化self.m_singal.connect(self.show_msg)3、定义信号槽调用的show_msg方法,并且传递一个变量,同时获取textEdit控件的当前游标,使其移到最末尾,然后在该控件中使用appe原创 2020-10-20 18:18:33 · 4337 阅读 · 0 评论 -
PyQt5中使用线程QThread和Thread进行耗时操作的问题
1、为什么使用线程由于在PyQt5的GUI程序中只存在一个主线程,如果在主线程中进行非常耗时的操作,将会导致GUI界面卡死或者假死,这将十分影响程序的运行,因此在进行耗时的操作,比如有些地方需要使用while 语句,这将会十分耗时,因此使用线程。2、开启线程的两种方式(1)使用threading包,该方法简单,只需要两句就可以开启一个线程,进行多线程操作,但是该方法有一定的弊端,因为这是Python中的多线程方法,在QT中会被认为不是一个安全的线程,因此在该线程中不能更改主程序(进程)中任何控件原创 2020-06-28 23:01:40 · 9393 阅读 · 3 评论 -
PyQt5在连接mysql数据库时,出现QMYSQL Driver not loaded
方案一:在以前是没有出现这种错误的,以前的PyQt5的版本为5.12,但是后来电脑出了问题,版本变成了5.15,这个版本有两个问题,第一个问题是cannot found module QtWebEngine , 第二个问题是没有连接数据库的dll文件解决没有模型QtWebEngine的方式为重新安装QtWebEngine,pip installQtWebEngine就行了。解决没有QMYSQL Driver not loaded的问题,找到mysql数据库的安装目录,从中copy文件...原创 2020-06-16 20:32:44 · 1083 阅读 · 0 评论 -
pyinstaller如何将自己写的py模块一并打包到exe中
使用方式在上一篇博客中,已经介绍了如何使用pinstaller 打包py文件为exe程序,链接为:https://blog.csdn.net/u014535666/article/details/106736641但是如果py文件中有自定义的一些其他模块,在打包的时候是无法打包进exe程序中的,会出现找不到自定义的模块,导致程序无法运行。为了解决这种问题,需要把自定义的module模块也要打包进去,这个时候需要将自己写的模块复制到Python安装路径下的Lib\site-packages目录中,原创 2020-06-13 20:08:34 · 4808 阅读 · 3 评论 -
Pyinstaller打包PyQt5为exe程序出现: Failed to execute script xxx
1、第一次打包首先安装pip install pyinstaller打包程序,安装完成之后选择在打包程序所在的目录的cmd命令窗口打包程序常用的命令参数有–icon=图标路径-F 打包成一个exe文件-w 使用窗口,无控制台-c 使用控制台,无窗口-D 创建一个目录,里面包含exe以及其他一些依赖性文件,此exe包含控制台这些命令可以混合使用,比如 pyinstaller -Fw weather_main.py 打包为一个没有控制台的exe程序-Fc 有控制台的程序,-w无控原创 2020-06-13 19:38:37 · 2161 阅读 · 1 评论 -
Python将数据库中数据导出为csv文件
1、这里使用PyQt5中内置数据库连接mysql方法 self.db = QSqlDatabase.addDatabase('QMYSQL') # 数据库设置 self.db.setHostName('localhost') self.db.setDatabaseName('bigpeng') self.db.setUserName(...原创 2020-03-24 09:58:59 · 4962 阅读 · 0 评论 -
Python——练习:快速生成验证码
结果如下:转载 2020-03-24 09:38:05 · 242 阅读 · 0 评论 -
PyQt5中时间和日期的操作
from PyQt5.QtCore import QDate, QTime, QDateTime, Qt"""返回当前日期"""now = QDate.currentDate()print(now) #PyQt5.QtCore.QDate(2018, 12, 3)print(now.toString()) #周一 12月 3 2018print(now.toString(Qt...转载 2020-03-10 10:23:58 · 3657 阅读 · 0 评论 -
PyQt5中动态设置QTableWidget表格添加数据,并且设置表格的行高,列宽
1、首先实例化QTableWidget对象,self.tableWidget = QtWidgets.QTableWidget(self)2、设计表格的行数和列数,以及绝对定位,当然你也可以根据自己的需求进行排版self.tableWidget.setGeometry(QtCore.QRect(40, 100, 447, 268))self.tableWidget.setObje...原创 2020-03-09 14:14:30 · 26719 阅读 · 2 评论 -
PyQt5中使用内置的QSqlQuery对象对mysql数据库的连接和查询,插入操作
1、数据库连接self.db = QSqlDatabase.addDatabase('QMYSQL')self.db.setHostName('localhost')self.db.setDatabaseName('bigpeng')self.db.setUserName('root')self.db.setPassword('')if not self.db.open():# 判断...原创 2020-03-09 12:50:10 · 6451 阅读 · 0 评论 -
完美解决PyQt5登录界面跳转主界面方法
使用Qtdesigner设计ui界面,实行界面分离,分别设计两个界面,一个是登录的界面,一个是主界面然后新建一个Python文件,在文件中分别将这两个界面UI引入,分别创建两个类,一个是实现登录显示的类,另一个是实现主界面显示的类。创建两个类,主窗口类登录窗口类最后使用一个main函数,在这个函数中实例化登录窗口类,显示登录窗口然后在登录窗口中实例化...原创 2020-03-09 11:39:41 · 21663 阅读 · 14 评论 -
python中使用os.system,打开另一个程序并且传递参数,可以用于pyqt5,执行多条系统命令
1、在一个程序中,写下,user和pwd是我要向另一个程序传递的参数import osos.system('python testp.py %s %s'%(user,pwd) ) # 打开新的窗口2、在另一个程序中,首先导入import sys,然后可以获取刚刚传递过来的参数import sysprint(sys.argv[1])...原创 2020-03-08 22:47:47 · 7474 阅读 · 1 评论 -
pyqt5 实现多窗口跳转的方法,例如登录和主界面之间的跳转实现和参数传递
1、两个窗口分别放到两个不同的窗口中,刚开始没找到方法,就使用了Python的内置的os中的cmd命令行,进行文件的打开 os.system('python main_window_main.py') # 打开新的窗口2、将两个窗口类放入一个文件中,今天在做pyqt5的多页面跳转时遇到问题,一点击button按钮,程序会崩溃。在网上查了下,应该是当窗口A调用窗口B的时候,两个窗口不能...原创 2020-03-08 21:35:35 · 7408 阅读 · 4 评论 -
PyQt5自定义信号的接收与发送
1、自定义信号,不使用内置信号自定义信号传递参数,窗口必须为子窗口和父窗口,参数可以传递,如果是在两个毫不相关的的窗口使用自定义信号,信号是不能发送出去的,结果也绑定不了槽函数首先在class类的def init 之前声明signal信号,然后使用signal.emit()发送信号,emit中可以发送数据,声明signal中的类型可以为int,str,list,等,以下是一个完整程序。...原创 2020-03-08 21:26:06 · 7866 阅读 · 2 评论 -
pyqt5背景色设置使用css或者是调色板
1、css设置背景色self.pushButton_2.setStyleSheet('#pushButton_2{background-color:#ffffff;}') # 使用css改变按钮的颜色#pushButton_2可以替换为QPushButton,一个是objectname,一个是类名,只不过,一个加#,一个没有或者通过主窗口设置css样式 main = Main()...原创 2020-03-06 22:25:41 · 4807 阅读 · 0 评论 -
pyqtgraph如何设置字符串类型横坐标
# xax = p1.getAxis('left') # 改成坐标轴y xax = p1.getAxis('bottom') # 坐标轴x ticks = [list(zip(range(10), ('16:23', '16:28', '16:33', '16:40', '16:45','16:23', '16:28', '16:33', '16...原创 2020-03-06 21:06:14 · 3470 阅读 · 4 评论 -
qtpandas的安装和使用,出错 ModuleNotFoundError: No module named 'pandas.tslib'
1、最新的qtpandas1.04才支持PyQt5,如果使用pip install qtpandas安装的是1.03,这个是不支持pyqt5的最新的qtpandas可以在github上下载,https://github.com/draperjames/qtpandas,选择下载zip包,下载后解压,然后在dos窗口中进入文件的安装目录,使用python setup.py insta...原创 2020-02-04 18:59:24 · 4346 阅读 · 1 评论 -
使用PyQt5内置类QtSql操作mysql数据库没反应或者是Driver not loaded
1、重新安装pyqt5,使用pip install PyQt5安装,版本尽量选择5.11.几,这样不会出现sip不匹配的错误,或者找不到sip模块,具体可以查看另一篇博客https://blog.csdn.net/u014535666/article/details/1037210952、找到Mysql Server的安装目录内的lib文件夹,例如我的是C:\Program Files\MyS...原创 2020-01-31 18:12:41 · 1151 阅读 · 0 评论 -
PyQt5中控件显示的问题
一:定义ui布局,如果不使用布局管理器进行布局,直接定义控件显示的话,必须在控件中写self,指明是自身,否则的话,控件不会显示def InitUI(self): combo = QComboBox(self)二:使用布局管理器布局,self可以省略不用写def InitUI(self): combo = QComboBox()...原创 2020-01-06 17:16:10 · 1284 阅读 · 0 评论 -
PyQt5中使用内置槽函数传递参数
内置槽函数是不允许传递参数的,这里有两种解决方法:方法一:使用lambda表达式button.clicked.connect(lambda:self.onButtonClick(1))这个时候就可以将数值1传递到所调用的方法中方法二:使用partial函数button.clicked.connect(partial(self.onButtonClick,1))这样也可以将值...原创 2020-01-04 20:58:31 · 3103 阅读 · 0 评论 -
解决 No module named 'PyQt5.QtWebEngineWidgets'
当出现 问题No module named 'PyQt5.QtWebEngineWidgets',查看下我们使用的pyqt5的版本在电脑的dos窗口使用pip list 命令,查看版本问题,我刚开是的版本是5.12,也就是使用pip install 安装的最新的版本,后来重新安装,使用了5.10版本。方法一:未成功但是最新的版本没有QtWebEngineWidgets类,有的人...原创 2020-01-03 21:38:55 · 15266 阅读 · 3 评论 -
PyQt5中paintEvent方法
在pycharm中使用paintEvent方法,内置使用a0关键字,其实这个关键字可以使用任何字符替换def paintEvent(self, a0: QtGui.QPaintEvent): painter = QPainter(self) painter.begin(self) self.drawext(a0,painter) painter.end()可...原创 2019-12-30 16:32:08 · 6499 阅读 · 0 评论 -
PyQt5中的lambda表达式的使用
lambda表达式返回一个值,即一个新的函数可以编写简单的函数在PyQt5中调用槽函数,进行传值的时候,使用lambda表达式可以实现btn.clicked.connect(lambda:self.close(dialog))# 调用函数def close(self,btn): btn.close()# 关闭对话框如果不需要传值,就不需要lambda表达式可以直...原创 2019-12-29 18:03:36 · 4595 阅读 · 0 评论 -
在使用pyrcc5编译二进制文件出现错误Cannot find file:和pyrcc5: "No resources in resource description."
1、文件的路径为英文路径,中文路径不可以2、确定正确配置pyrcc3、就是资源文件的位置要放在当前项目下,不然会出现错误经过以上步骤,正确编译二进制文件apprcc.qrc文件的格式为<rcc version='1.0'> <qresource> </qresource></rcc>导入文件路径后...原创 2019-12-26 19:17:48 · 9195 阅读 · 2 评论 -
anaconda下PyQt5安装与配置
1.打开命令提示符输入:pip install PyQt5 -i https://pypi.douban.com/simple在这里选择豆瓣源的原因是下载速度较快,但并不是每次都能保证较高的下载速度。2.安装PyQt常用工具pip install PyQt5-tools -i https://pypi.douban.com/simple3.添加工具包到系统变量为了使系统识别PyQt工...转载 2019-12-26 19:12:10 · 11993 阅读 · 0 评论 -
QTdesigner设计的UI与业务分离
1、使用QTdesigner设计后缀为.ui的文件,然后使用PYuic工具生成.py 文件,这里生成的文件时纯ui文件,其实这里生成的是xml的布局2、业务实现,首先定义类继承ui类,然后再类中可以定义方法,实现具体的操作3、在main函数中,显示窗体import sysfrom qtpy import QtWidgetsfrom PyQt.file import Ui_M...原创 2019-12-26 16:45:43 · 731 阅读 · 0 评论 -
第一个PyQt5程序
首先安装PyQt5,教程如下https://blog.csdn.net/qq_36374896/article/details/83513828第一个pyqt程序然后将ui文件转为.py文件,最后使用下面的代码import sysif __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) MainW...原创 2019-07-15 15:48:29 · 315 阅读 · 0 评论