Linux Qt Designer UI界面设计
设计步骤
1.首先在Qt Designer上绘制好自己的图像化界面。
2.编写代码,将控件和功能匹配起来即可,代码如下。注意换到不同主机时,应该将文件配置到相同文件下下,或者修改相应的路径。
from PySide2.QtWidgets import QApplication, QMessageBox,QFileDialog
from PySide2.QtUiTools import QUiLoader
from PyQt5.QtCore import Qt, QFile
#from PySide2.QtGui import QIcon
import os
import sys
from PySide2 import QtCore, QtWidgets, QtGui
from PySide2.QtCore import QFile
import PySide2
dirname = os.path.dirname(PySide2.__file__)
plugin_path = os.path.join(dirname, 'plugins', 'platforms')
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path
class Car:
def __init__(self):
# 从文件中加载UI定义
qfile_car = QFile("home/dyj/CarUI/car_pyside2.ui")
qfile_car.open(QFile.ReadOnly)
qfile_car.close()
# 从 UI 定义中动态 创建一个相应的窗口对象
# 注意:里面的控件对象也成为窗口对象的属性了
# 比如 self.ui.button , self.ui.textEdit
self.ui = QUiLoader().load('car_pyside2.ui')
self.ui.pushButton.clicked.connect(self.Button1)
self.ui.pushButton_2.clicked.connect(self.Button2)
self.ui.pushButton_3.clicked.connect(self.Button3)
self.ui.pushButton_4.clicked.connect(self.Button4)
self.ui.pushButton_5.clicked.connect(self.Button5)
self.ui.pushButton_6.clicked.connect(self.Button6)
def Button1(self):
os.system("cd /home/lr/Desktop/LR_toolkit && python test.py drive --js")
def Button2(self):
os.system("cd /home/lr/Desktop/LR_toolkit && python manage.py train --tub=./data --model=./models/default.h5")
def Button3(self):
os.system("cd /home/lr/Desktop/LR_toolkit && python manage.py drive --model=./models/default.h5")
def Button4(self):
os.system("cd /home/lr/Desktop/LR_toolkit && python featuremap.py")
def Button5(self):
# filepath = QFileDialog.getExistingDirectory(self.ui,"/home/lr/Desktop/LR_toolkit/output/featuremap/")
filepath = "/home/lr/Desktop/LR_toolkit/output/featuremap/"
print('图像保存路径:',filepath)
def Button6(self):
print('CLEAN EXIT')
app.exit()
app = QApplication([])
car = Car()
car.ui.show()
app.exec_()
3.用pyinstaller打包主程序car.py。可能会出现错误ImportError: could not import module ‘PySide2.QtXml’。
4.将打包好的可执行文件car和原始ui文件放到home目录下面。
5.完成,可以使用啦!