pycharm + python3 + win7
1 pip install pyinstall (官网)
2 准备 .py 文件
3 具体例子
from PyQt5.QtWidgets import QApplication, QDialog, QRadioButton, QVBoxLayout, QGroupBox, QHBoxLayout, QLabel
import sys
from PyQt5 import QtGui, QtCore
class Window(QDialog):
def __init__(self):
super(Window, self).__init__()
self.title = 'PyQt5 单选按钮'
self.left, self.top = 300, 400
self.width, self.height = 400, 100
self.iconName = '25.gif'
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon(self.iconName))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.RadioButton()
v_box = QVBoxLayout() # 垂直布局
v_box.addWidget(self.groupbox)
self.label = QLabel("Hello World!")
v_box.addWidget(self.label)
self.setLayout(v_box)
self.show()
def RadioButton(self):
self.groupbox = QGroupBox("你最喜欢的运动是什么?")
self.groupbox.setFont(QtGui.QFont('Serial', 15))
h_boxlayout = QHBoxLayout() # 水平布局
self.btn_style("|A: 足球|")
self.radiobtn.setChecked(True) # 默认选A
h_boxlayout.addWidget(self.radiobtn)
self.btn_style("|B: 篮球|")
h_boxlayout.addWidget(self.radiobtn)
self.btn_style("|C: 网球|")
h_boxlayout.addWidget(self.radiobtn)
self.btn_style("|D: 排球|")
h_boxlayout.addWidget(self.radiobtn)
self.groupbox.setLayout(h_boxlayout)
def btn_style(self, hobby):
self.radiobtn = QRadioButton(hobby)
self.radiobtn.setIcon(QtGui.QIcon('25.gif'))
self.radiobtn.setIconSize(QtCore.QSize(40, 40))
self.radiobtn.setFont(QtGui.QFont('Sanserif', 13))
if __name__ == '__main__':
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec())
4 控制台进行打包
pyinstaller -F (-i favicon.ico图标,此项为可选项) test.py
5 打包会生成三个文件夹和一个文件 __pycache__、build、dist(其中有可运行的exe)和test.spec
6 打开test.exe即可。