教程
http://www.python3.vip/tut/py/gui/qt_01/
安装
pip install pyside2
使用Qt Designer
windows
在
python安装目录/lib/python3.7/site-packages/PySide2
找到Designer.app
,双击执行
mac
在下面路径
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PySide2
找到Designer.app
,双击执行
将ui文件转成python代码
pyside2-uic -o main.py main.ui
生成的python代码,只有一个类,还不能使用
主文件
简单方式
在 main.py 的下面增加下面代码
if __name__ == '__main__':
app = QApplication()
form = QWidget()
uiform=Ui_Form() # 该类是生成的类名
uiform.setupUi(form)
uiform.retranslateUi(form)
form.show()
app.exec_()
分离方式
为了使 窗口gui 与 业务逻辑 分离,新建一个类,继承该窗口类,:
import os
import sys
import PySide2
from PySide2.QtWidgets import QMainWindow, QApplication, QDialog, QPushButton
from ui_main import Ui_MainWindow
# 增加下面代码,否则报错
dirname = os.path.dirname(PySide2.__file__)
plugin_path = os.path.join(dirname, 'plugins', 'platforms')
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path
class MyMainWindow(QMainWindow, Ui_MainWindow):
def __init__( self, parent=None ):
super(MyMainWindow, self).__init__(parent)
self.setupUi(self)
self.initUI()
def initUI( self ):
pass
if __name__ == "__main__":
app = QApplication(sys.argv)
win = MyMainWindow()
win.show()
sys.exit(app.exec_())