python2.7+PyQt5 製作桌面便籤小程序

    初學PyQt5,嘗試製作瞭如圖所示桌面便籤小程序,功能比較單一。

    現按以下順序記錄:

    一.PyQt5的安裝

    二.程序

    三.打包

    ######################################################################

    一.PyQt5的安裝

    參考:點擊打開鏈接

    二.程序

    1.使用Qt Creator 進行排版並設置鏈接


        2.程序

            2.1 將ui文件轉換成py文件以便主程序調用

                    在該文件夾下打開終端,輸入

pyuic5 form.ui -o form.py
             2.2 主程序
from form import Ui_Form
import sys
from PyQt5.QtWidgets import QWidget, QApplication, QMessageBox

class Time_table(QWidget, Ui_Form):
    def __init__(self):
        super(Time_table,self).__init__()
        self.setupUi(self)
        self.setWindowTitle('Time Table')

    
    def submit_1(self):
        self.lineEdit.text()
        self.sb1.clicked.connect(self.ban_1)
        self.f1.clicked.connect(self.f_1)
        self.f1.clicked.connect(self.message)
    def submit_2(self):    
        self.lineEdit_2.text()
        self.sb2.clicked.connect(self.ban_2)
        self.f2.clicked.connect(self.f_2)
        self.f2.clicked.connect(self.message)
    def submit_3(self):
        self.lineEdit_3.text()
        self.sb3.clicked.connect(self.ban_3)
        self.f3.clicked.connect(self.f_3)
        self.f3.clicked.connect(self.message)
    def submit_4(self):
        self.lineEdit_4.text()
        self.sb4.clicked.connect(self.ban_4)
        self.f4.clicked.connect(self.f_4)
        self.f4.clicked.connect(self.message)
    def submit_5(self):
        self.lineEdit_5.text()
        self.sb5.clicked.connect(self.ban_5)
        self.f5.clicked.connect(self.f_5)
        self.f5.clicked.connect(self.message)
    
    def f_1(self):
        self.lineEdit.setEnabled(True)
    def f_2(self):
        self.lineEdit_2.setEnabled(True)
    def f_3(self):
        self.lineEdit_3.setEnabled(True)
    def f_4(self):
        self.lineEdit_4.setEnabled(True)
    def f_5(self):
        self.lineEdit_5.setEnabled(True)
        
    def ban_1(self):
        self.lineEdit.setEnabled(False)
    def ban_2(self):
        self.lineEdit_2.setEnabled(False)
    def ban_3(self):
        self.lineEdit_3.setEnabled(False)
    def ban_4(self):
        self.lineEdit_4.setEnabled(False)
    def ban_5(self):
        self.lineEdit_5.setEnabled(False)
    
    def message(self):
        QMessageBox.information(self,'Tips','Good Job!')

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

        接下來分別解釋:

from form3 import Ui_Form3
import sys
from PyQt5.QtWidgets import QWidget, QApplication, QMessageBox

            調用相關模塊

class Time_table(QWidget, Ui_Form):
    def __init__(self):
        super(Time_table,self).__init__()  #py3裏面只需super().__init__()
      self.setupUi(self)
      self.setWindowTitle('Time Table')

            注意:要把Ui_Form加入類中

    def submit_1(self):
        self.lineEdit.text()
        self.sb1.clicked.connect(self.ban_1)
        self.f1.clicked.connect(self.f_1)
        self.f1.clicked.connect(self.message)
    def submit_2(self):    
        self.lineEdit_2.text()
        self.sb2.clicked.connect(self.ban_2)
        self.f2.clicked.connect(self.f_2)
        self.f2.clicked.connect(self.message)
    def submit_3(self):
        self.lineEdit_3.text()
        self.sb3.clicked.connect(self.ban_3)
        self.f3.clicked.connect(self.f_3)
        self.f3.clicked.connect(self.message)
    def submit_4(self):
        self.lineEdit_二.4.text()
        self.sb4.clicked.connect(self.ban_4)
        se二.lf.f4.clicked.connect(self.f_4)
        self.f4.clicked.connect(self.message)
    def submit_5(self):
        self.lineEdit_5.text()
        self.sb5.clicked.connect(self.ban_5)
        self.f5.clicked.connect(self.f_5)
        self.f5.clicked.connect(self.message)

            text內容填寫操作,按鈕submit和finish操作鏈接

    def f_1(self):
        self.lineEdit.setEnabled(True)
    def f_2(self):
        self.lineEdit_2.setEnabled(True)
    def f_3(self):
        self.lineEdit_3.setEnabled(True)
    def f_4(self):
        self.lineEdit_4.setEnabled(True)
    def f_5(self):
        self.lineEdit_5.setEnabled(True)
        
    def ban_1(self):
        self.lineEdit.setEnabled(False)
    def ban_2(self):
        self.lineEdit_2.setEnabled(False)
    def ban_3(self):
        self.lineEdit_3.setEnabled(False)
    def ban_4(self):
        self.lineEdit_4.setEnabled(False)
    def ban_5(self):
        self.lineEdit_5.setEnabled(False)

            text內容的enabled狀態。若提交則text內容不可更改,若finish,則可更改。

def message(self):
        QMessageBox.information(self,'Tips','Good Job!')

            若finish,彈出窗口“Good Job!”

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

            常規操作

    3.打包成exe文檔

        3.1安裝pyinstaller

pip install pyinstaller

        3.2pyinstaller常規使用

                參考第4部分點擊打開鏈接

        3.3打開命令行窗口,在要打包的程序目錄下,運行以下命令

pyinstaller -F -w main.py

                之後會在dist文件夾下生成main.exe 文件


                 運行exe文件即可


(下載鏈接:點擊打開鏈接)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章