本文利用python中的pyqt5包,设计一个计算PPI小程序的界面,再利用pyuic将界面的ui文件转为py文件。再新建一个py文件继承界面py文件中类,并定义每一个按钮对应的函数,完成后利用pyinstaller打包成exe程序直接运行使用。接下来将介绍整个程序的实现过程。
- 前期安装准备(本文使用pycharm配合python3.7完成)
- 建议使用pip install安装,安装后将designer和pyuic添加到external tools中
- pyqt5
- PyQt5-tools(这个里才有designer.exe)
- pyinstaller
一、利用qtdesigner设计一个界面
- 步骤
- 1.pycharm->tools->external tools->qtdesigner
- 2.新建一个Dialog without Buttons(选main window和widget也可以,这里建议与本文一致) (补充:三种窗口的区别)
- 3.根据图片设计好程序界面
- 4.保存为.ui文件
二、利用pyuic将ui文件转为py文件
- 步骤
- 1.在pycharm中打开保存的ui文件
- 2.点tools->external tools->pyuic
- 3.生成的py文件如下
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ppi.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_ppi(object):
def setupUi(self, ppi):
ppi.setObjectName("ppi")
ppi.resize(458, 328)
self.label = QtWidgets.QLabel(ppi)
self.label.setGeometry(QtCore.QRect(120, 30, 211, 31))
font = QtGui.QFont()
font.setFamily("微软雅黑")
font.setPointSize(18)
self.label.setFont(font)
self.label.setObjectName("label")
self.groupBox = QtWidgets.QGroupBox(ppi)
self.groupBox.setGeometry(QtCore.QRect(80, 80, 281, 171))
self.groupBox.setObjectName("groupBox")
self.label_2 = QtWidgets.QLabel(self.groupBox)
self.label_2.setGeometry(QtCore.QRect(30, 40, 54, 12))
self.label_2.setLayoutDirection(QtCore.Qt.LeftToRight)
self.label_2.setAutoFillBackground(False)
self.label_2.setAlignment(QtCore.Qt.AlignCenter)
self.label_2.setObjectName("label_2")
self.label_3 = QtWidgets.QLabel(self.groupBox)
self.label_3.setGeometry(QtCore.QRect(