close

一、前言

用Qt Designer超高速拉好介面然後高速開發APP吧

之後可以看 【Pyqt5使用者介面開發】Pyqt5基本觀念及元件lineEdit、pushButton互動信號與槽

讓它動起來~!!!

 

二、使用Qt Designer快速拉好使用者介面(UI)

還沒下載的趕快到先下載並且安裝吧 https://build-system.fman.io/qt-designer-download

(1) 打開Qt Designer並且執行(搜尋可以打designer),而後點選你要的Forms(依個人需求)我習慣選空白的Widget

1

2

剛進來什麼都沒有長這樣

3

 

(2) 到旁邊的工具箱拉好自己要的元件,且為你的原件改名,以免後續你找不到他

在旁邊工具箱把元件拉出來

4

拉出來後拉成自己想要的樣子及點兩下可以改名字後

不要忘記在旁邊的objectName給他一個你記可以記起來的物件名(以免之後再寫code要用他找不到)

5

 

(3) 存檔(ctrl+s)給他一個好名字

我習慣給他window

6

 

(4) 快速用cmd把它轉成python程式碼

a. 進到你檔案所在的資料夾

用命令提示字元(cmd)下輸入

cd 你的檔案所在的資料夾

ps. 直接去你該檔案資料夾上的路徑複製貼上來就好

7

b. 用簡單的程式碼讓它變成python程式碼

之後同樣在cmd底下複製貼上程式碼

pyuic5 –o window.py window.ui

pyuic5 -o [你要轉換成的py檔名稱] [你剛剛拉好的ui的檔名]

8

按下enter他就給你轉換好了

9

 

三、用Python讓它活起來

之後打開spyder把window.py叫出來

10

只要在產生出來的py檔下加入這一段程式碼就可以嘍(後有完整程式碼)

11

輸入好按F5執行就出來了

12

至於如何互動趕快去看

 

完整程式碼

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QFrame
import sys

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(454, 177)
        self.pushButton_print = QtWidgets.QPushButton(Form)
        self.pushButton_print.setGeometry(QtCore.QRect(170, 120, 93, 28))
        self.pushButton_print.setObjectName("pushButton_print")
        self.label_print = QtWidgets.QLabel(Form)
        self.label_print.setGeometry(QtCore.QRect(20, 20, 51, 61))
        self.label_print.setObjectName("label_print")
        self.lineEdit_print = QtWidgets.QLineEdit(Form)
        self.lineEdit_print.setGeometry(QtCore.QRect(80, 20, 351, 61))
        self.lineEdit_print.setObjectName("lineEdit_print")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.pushButton_print.setText(_translate("Form", "點我開始"))
        self.label_print.setText(_translate("Form", "顯示:"))

class MainFrame(QFrame, Ui_Form):
    def __init__(self, parent=None):
        super(MainFrame, self).__init__(parent) # 調用父類把子類對象轉為父類對象
        # 調用介面
        self.setupUi(self) 

if __name__ == '__main__':
    app = QApplication(sys.argv)
    mainFrame = MainFrame()
    mainFrame.show()
    sys.exit(app.exec_())

 

四、後記

讓它活起來有更好的方法也為之後寫UI流程更為清楚

快速拉好使用者介面(UI)之後就是如何讓它運作了 【Pyqt5使用者介面開發】Pyqt5基本觀念及元件lineEdit、pushButton互動信號與槽

隨心所欲寫出自己要的APP並且打包成EXE檔在各環境下執行

之後會寫一篇有規劃寫出自己要的小APP並且打包大家想看嗎^^

 

arrow
arrow

    恩哥Python 發表在 痞客邦 留言(0) 人氣()