Python代码使用PyQt5制作界面并封装

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yulinxx/article/details/93348385

续:
https://blog.csdn.net/yulinxx/article/details/93344163

若要对此程序进行封装,加个界面,然后制作成EXE,

使用PyQt5制作界面,PyInstaller 进行封装成EXE

在这里插入图片描述
可参考:

Python制作小软件——1. 安装并使用PyQt5进行界面设计

https://blog.csdn.net/weixin_41929524/article/details/81456308

Python制作小软件——2. 实现界面中的退出功能

https://blog.csdn.net/weixin_41929524/article/details/81460203

Python制作小软件——3. 利用PyQt5实现界面中的功能

https://blog.csdn.net/weixin_41929524/article/details/81475935

Python制作小软件——4. 利用PyInstaller打包成exe文件

https://blog.csdn.net/weixin_41929524/article/details/81484806

在这里插入图片描述

归纳:

pip国内源设置方法
https://blog.csdn.net/weixin_41712059/article/details/86704492

  • 安装PyQt5
    ·pip install PyQt5

  • Qt随意新建一个QWidget的工程,只要能有设计界面就可以,
    制作了 .ui 界面后,执行:
    pyuic5 -o d:\ui.py D:\xx\Documents\QtProj\UIForPython\mainwindow.ui
    输出到本地 d:\ui.py

  • 最终打包:
    安装打包工具:pip install PyInstaller
    打包主程序pyinstaller -F -w main.py
    它会自动添加依赖,最终生成一个exe文件,体积较大

遇到的坑:

def closeEvent(self, event):
        quit()
  • 界面设置文字未及时刷新,加上如下第三行代码即可:
self.textEditStatus.setStyleSheet('color:green')
self.textEditStatus.setText('安装中,请稍候...')
QApplication.processEvents() # 界面刷新

在PyQt5中,如果在Python 代码中抛出了异常,没有进行捕获,异常只要进入事件循环,程序就崩溃,而没有任何提示,给程序调试带来不少麻烦,通过在程序运行前加入以下代码,则能避免程序崩溃.

import cgitb 
cgitb.enable( format = ‘text’)

部分代码:
设置按钮与事件的关联:

def initUI(self):
        self.lineEditPassword.setEchoMode(QtWidgets.QLineEdit.Password)#密码模式

        self.pushBtnDebBrowse.clicked.connect(self.browseDebFolder)
        self.pushBtnExit.clicked.connect(self.exit)

槽函数:

def browseDebFolder(self):
        filename, filetype =QFileDialog.getOpenFileName(self, "选取文件", ".", "All Files(*);;Text Files(*.deb)")
        if filename:
            print(filename, '\t', filetype)
            pos = filename.rfind('/')
            str_file = filename[pos+1 : ]
            self.lineEditDebSrcPath.setText(filename)
            self.lineEditDebDstPath.setText('/home/' + str_file)
            
def exit(self):
        print("Exit")
        self.close()
        sys.exit(0)

在这里插入图片描述

展开阅读全文

没有更多推荐了,返回首页