我的第一个小程序
面向过程
面向对象
http://bbs.fishc.com/forum.php?mod=viewthread&tid=59816&extra=page%3D1&page=1
~~~
pyuic5 xxx.ui -o xxx.py #pyuic5的ui转py
pyuic5 -o xxx.py xxx.ui #pyuic5的ui转py
~~~
~~~
pyinstaller -F xxx.py #py程序打包
pyinstaller -F --paths=C:\Python\Python35\Lib\site-packages\PyQt5\Qt\bin
--paths=C:\Python\Python35\Lib\site-packages\PyQt5\Qt\plugins xxx.py
**在打包之前务必找到第三方库的包(QtWidgets.py),把包复制到到跟 xxx.py同目录下,然后再使用以上2种方式打包,否则会打包失败或者即使打包成功,程序也会闪退。**
输入参数的含义
-F 表示生成单个可执行文件
-w 表示去掉控制台窗口,这在GUI界面时非常有用。
-p 表示你自己自定义需要加载的类路径,一般情况下用不到
-i 表示可执行文件的图标
给程序换图标的方法
输入命令中添加一个-i tubiao.ico(图标的相对路径)。如图:
# **pyinstaller -F -i tubiao\123. xxx.py #py程序打包**
https://images2015.cnblogs.com/blog/1098241/201701/1098241-20170121185356281-49895752.png
~~~
~~~
# -*- coding: utf-8 -*-
############m面向过程##############
# -*- coding: utf-8 -*-
import sys
from PyQt5 import QtWidgets
app = QtWidgets.QApplication(sys.argv)
win = QtWidgets.QWidget()
win.resize(500, 100)
win.setWindowTitle("我的第一个程序")
win.show()
sys.exit(app.exec_())
############面向对象##############
# -*- coding: utf-8 -*-
import sys
from PyQt5 import QtWidgets
#以下为UI类(pyqt5生成的UI类)
class Ui_MainWindow(QtWidgets.QWidget):
def __init__(self):
# QtWidgets.QWidget.__init__(self)#效果一样
super(Ui_MainWindow, self).__init__()#效果一样
self.setGeometry(300, 300, 250, 150)#设置集合样式
self.setWindowTitle("我的第一个程序")
if __name__=='__main__':
app = QtWidgets.QApplication(sys.argv)
win = Ui_MainWindow()
win.resize(500, 100)
win.show()
sys.exit(app.exec_())
~~~
~~~
if __name__=='__main__':
app=QtWidgets.QApplication(sys.argv)
win=QtWidgets.QWidget()
ui=Ui_Dialog()
ui.setupUi(win)
win.show()
sys.exit(app.exec_())
~~~