
pyqt5打包成exe,程序有图标,但是双击打开的窗口左上角没有显示小图标。
打包命令 : pyinstaller -F -w -i ico1ico mainpy
执行之后,exe程序有图标,双击打开没有图标
解决方法: 1创建imagesqrc文件
在txt文件中写入
<RCC>
<qresource prefix="/">
<file>ico1ico</file>
</qresource>
</RCC>
保存,修改文件后缀为qrc
2生成py文件,这个py文件把保存成二进制
pyrcc5 -o imagespy imagesqrc
3 导入模块
import images
MainWindowsetWindowIcon(QIcon(':/ico1ico'))
一般情况下,图标问题可以解决如果还是不行,将窗口的小图标格式修改问 png格式 ico1png 再执行以上步骤
注意exe的图标的格式问ico格式
有时我们展示了一个列表, 并想提供查看某项列表的详细内容, 我们会在列表项的末端加一个查看按钮, 这时我们如何在按按钮的时候得知这是那一项呢 这时就需要带参数的信号, 信号是可以带参数的, 参数会在信号发送时携带, 并传递给接收此信号的槽
from PyQt4 import QtGui, QtCore
class MyButton(QtGuiQPushButton):
myclicked = QtCorepyqtSignal(int)
def __init__(self, _id, args, kwargs):
QtGuiQPushButton__init__(self, args, kwargs)
self_id = _id
selfconnect(self, QtCoreSIGNAL("clicked()"), selfemitMyclicked)
def emitMyclicked(self):
selfmyclickedemit(self_id)
app = QtGuiQApplication([])
w = QtGuiQWidget()
wresize(100, 100)
def showMsg(_id):
QtGuiQMessageBoxinformation(w, u"信息", u"查看 %d" % _id)
btn = MyButton(1, u"查看1", w)
wconnect(btn, QtCoreSIGNAL("myclicked(int)"), showMsg)
btn2 = MyButton(2, u"查看2", w)
btn2move(0, 30)
wconnect(btn2, QtCoreSIGNAL("myclicked(int)"), showMsg)
wshow()
appexec_()
上面例子可以看出, QObjectemit 发送带参数的信号时要携带参数 当然上面例子也可以用下面方式来写
from PyQt4 import QtGui, QtCore
class MyButton(QtGuiQPushButton):
def __init__(self, _id, args, kwargs):
self_id = _id
QtGuiQPushButton__init__(self, args, kwargs)
selfconnect(self, QtCoreSIGNAL("clicked()"), selfemitClicked)
def emitClicked(self):
selfemit(QtCoreSIGNAL("myclicked(int)"), self_id)
app = QtGuiQApplication([])
w = QtGuiQWidget()
wresize(100, 100)
def showMsg(_id):
QtGuiQMessageBoxinformation(w, u"信息", u"查看 %d" % _id)
btn = MyButton(1, u"查看1", w)
wconnect(btn, QtCoreSIGNAL("myclicked(int)"), showMsg)
btn2 = MyButton(2, u"查看2", w)
btn2move(0, 30)
wconnect(btn2, QtCoreSIGNAL("myclicked(int)"), showMsg)
wshow()
appexec_()
1,打开windows 的cmd窗口,切换到python命令界面,确认pip3是否安装
2,联网,输入
pip3 install PyQt5
即可自动化下载安装,大小约80M,下载安装速度取决于网速。
3,测试安装正确
import PyQt5 没有报错即为安装成功。
也可做一个测试程序验证。
import sys
from PyQt5 import QtWidgets, QtCore
app = QtWidgetsQApplication(sysargv)
widget = QtWidgetsQWidget()
widgetresize(400, 100)
widgetsetWindowTitle("Hello World!")
widgetshow()
exit(appexec_())
《PyQt5快速开发与实战》百度网盘pdf最新全集下载:
afwb
简介:《PyQt5快速开发与实战》既是介绍PyQt 5的快速入门书籍,也是介绍PyQt 5实战应用的书籍。PyQt 5是对Qt所有类的Python封装,既可以利用Qt的强大功能,也可以利用Python丰富的生态圈,同时能够结合Python简洁的语法进行 *** 作,其结果就是使用PyQt 5可以高效、简单地开发出自己想要的程序。《PyQt5快速开发与实战》内容丰富,对PyQt 5基础知识的介绍比较全面,同时对新手使用PyQt 5的一些重点、难点都有专门的章节进行针对性分析,还重点介绍了如何把Python的一些重量级模块(Pandas、Matplotlib和Plotly)嵌入到PyQt 5中,从而极大地节约开发时间。最后,《PyQt5快速开发与实战》给出一些综合性较强的实战案例,帮助读者快速掌握PyQt 5的实战应用。
使用Qt进行软件开发,不可避免要使用资源文件。本节我们做一个简单示例,通过使用Qt资源文件为应用程序及关闭按钮设置图标。
根据前面我们所讲述的内容,先创建PyCharm工程项目,然后创建Qt工程项目,在Qt工程项目中设计界面并创建资源文件。
界面中我们只放置一个“关闭”按钮,所以在此不做具体的描述。下面,我们创建资源文件。
在Qt Creator中选择“File” -> "New File or Project",然后选择“Qt”->"Qt Resource File",在File name中输入res,在项目中可以看到,我们创建了一个resqrc资源文件。
在资源文件上右击,选择”Open in Editor“即可打开资源文件编辑器。
在资源文件中首先需要创建一个前缀,名称可以根据具体的资源进行命名,我们在此处命名为:icons;然后单击”Add Files“,选择事先准备好的图标文件添加进来。
在按钮的属性编辑器中找到icon属性,点击下拉菜单中的”Choose Resource“,在对话框中选择对应的资源文件中的图标即可。
编译资源文件:
在PyCharm的工程项目中创建一个名为rccbat的批处理文件,其代码如下:
注意:编译资源文件时,生成的py文件名结尾必须是_rc,因为编译窗体文件后会产生如下语句:
编译窗体文件:
在PyCharm的工程项目中创建一个名为uicbat的批处理文件,其代码如下:
运行以上两个批处理文件,可以看到编译后的py文件已经生成。
执行程序后可以看到,界面中的关闭按钮显示了我们在Qt Creator中设置的图标。
引入图标类:
在主程序中app = QApplication(sysargv)语句后面增加设置图标的代码:
为”关闭“按钮添加单击事件代码:
运行程序即可看到应用程序的图标也可以显示了。
以上就是关于pyinstaller 打包pyqt5 图标不显示问题全部的内容,包括:pyinstaller 打包pyqt5 图标不显示问题、使用pyqt4写GUI小程序时一个clicked信号调用三次槽函数、如何使用pypi安装pyqt5等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)