Designer生成的ui转py文件
PyQt5安装后就会存在pyuic5命令。
pyuic5 -o 保存的py文件名.py 原ui文件名.ui
将qrc文件转py文件
pyrcc5 resource.qrc -o resource_rc.py
将py文件打包成exe文件
虚拟环境打包减少不必要的依赖环境。
Pyinstaller -F py_word.py 打包exe
Pyinstaller -F -w py_word.py 不带控制台的打包
Pyinstaller -F -w -i chengzi.ico py_word.py 打包指定exe图标打包
样式框架
安装
pip install pyqtdarktheme
使用
app = QtWidgets.QApplication(sys.argv)
app.setWindowIcon(QIcon("static/header.ico")) # 设置窗口图标
app.setStyleSheet(qdarkstyle.load_stylesheet())
链接
将print重定向到textEdit中
class Stream(QObject):
"""【输出重定向】重定向控制台输出到文本框控件"""
newText = pyqtSignal(str)
# 任何定义了类似于文件write方法的对象可以指定给sys.stdout,所有的标准输出将发送到该方法对象上
def write(self, text):
self.newText.emit(str(text))
QApplication.processEvents()
class Ui_MainWindow(object):
def __init__(self):
sys.stdout = Stream()
sys.stdout.newText.connect(self.onUpdateText)
def onUpdateText(self, text):
"""【输出重定向】重定向控制台输出到文本框控件"""
cursor = self.textEdit.textCursor()
cursor.movePosition(QTextCursor.End)
cursor.insertText(text)
self.textEdit.setTextCursor(cursor)
self.textEdit.ensureCursorVisible()
主界面无响应方案
class Worker(QThread):
timeout = pyqtSignal()
def __init__(self):
super(Worker, self).__init__()
def run(self):
while True:
time.sleep(2)
self.timeout.emit()
def on_clicked(self):
self.worker = Worker()
self.worker.start()
资源文件打包
python-docx库中打开qrc中的word文件
python-docx库本身不支持直接从QRC(资源文件)中打开Word文件。python-docx主要用于创建和修改Word文档,而不是从应用程序资源文件(如Windows中的QRC)中读取文档。
如果你的意图是从一个应用程序的资源文件中读取Word文件,并且这个应用程序是用Qt写的,那么你可能需要使用PyQt或者PySide来操作QRC文件。
以下是一个使用PyQt5从QRC中读取文件的例子:
from PyQt5 import QtCore, QtWidgets
def read_word_from_qrc(qrc_path):
# 初始化资源系统
QtWidgets.QApplication([])
# 加载QRC文件
QtCore.QResource.registerResource(qrc_path)
# 假设你的Word文件在QRC中的资源名为":/word_files/document.docx"
resource_name = ":word_files/document.docx"
# 从资源系统中读取文件数据
data = QtCore.QResource(resource_name).data()
# 如果你需要将数据转换为文件对象,可以使用如下方式
from io import BytesIO
file_obj = BytesIO(data)
return file_obj
使用例子
qrc_path = 'path_to_your_resources.qrc'
word_file_obj = read_word_from_qrc(qrc_path)
使用python-docx处理文件对象
from docx import Document
doc = Document(word_file_obj)
Pyinstaller安装执行文件闪退
执行文件闪退
(1)问题描述:打包文件闪退
(2)问题分析:原因很多,具体分析
(3)解决方法:
在将miain.exe文件copy到根目录下后,直接cmd调出命令行,输入:main.exe,直接运行程序,会打印错误的原因,然后分析问题