【純手工代碼】
# -*- coding: utf-8 -*- # Author:Jack LEE # FileName:main # CreatedDate: 2020/9/17 # 手寫代碼的基礎框架 # 導入需要的庫and元件 from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QTextEdit # 初始化函數 def sayHello(): textEdit.setText("hello") # 初始化控件 app = QApplication([]) window = QMainWindow() window.resize(800, 600) window.move(300, 310) window.setWindowTitle('MainWindow') textEdit = QTextEdit("init-information", window) textEdit.resize(500, 400) textEdit.move(40, 50) # textEdit.setText("init-information") button = QPushButton('pushButton', window) button.move(600, 300) button.resize(130, 50) # button.setText('pushButton') # 編寫信號與槽,以及圖像化 button.clicked.connect(sayHello) window.show() app.exec_()
{載入UI的路徑}
注意:
需要將UI目錄加入路徑;
方法:點擊UI文件夾,單擊右鍵 Make Directory As,Source Root
【直接載入UI文件】
# -*- coding: utf-8 -*- # Author:Jack LEE # FileName:UIloader # CreatedDate: 2020/9/17 import sys from PySide2.QtUiTools import QUiLoader from PySide2.QtWidgets import QApplication from PySide2.QtCore import QFile # 定義觸發函數 def sayHello(): window.textEdit.setText("hello world!") print("Button click!") if __name__ == "__main__": app = QApplication(sys.argv) ui_file = QFile("UI/mainWindow.ui") ui_file.open(QFile.ReadOnly) loader = QUiLoader() window = loader.load(ui_file) ui_file.close() # 在這里加入信號觸發、空間位置控制等代碼 window.pushButton.clicked.connect(sayHello) # 添加結束 window.show() sys.exit(app.exec_())
【載入UI文件編譯后的PY文件】
# -*- coding: utf-8 -*- # Author:Jack LEE # FileName:PYloader # CreatedDate: 2020/9/17 import sys # from sys import argv # 如果使用sys 那將意味着將要打包很多多西,所以可能會出現問題 from mainWindow import Ui_MainWindow from PySide2.QtWidgets import QMainWindow, QApplication # 定義信號和槽函數 def signleAndSlot(): UI.pushButton.clicked.connect(sayHello) # 定義觸發函數 def sayHello(): UI.textEdit.setText("Hello World!") class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) if __name__ == '__main__': app = QApplication(sys.argv) main = MainWindow() UI = main.ui # 調用信號和槽的函數以及空間管理等函數 signleAndSlot() main.show() sys.exit(app.exec_())