程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【界面】python中pyqt5的學習

編輯:Python

PyQt5的學習

參考鏈接:https://blog.csdn.net/AzureMouse/article/details/90338961

安裝PyQt5

  1. 使用pip下載PyQt5
    pip install PyQt5
    pip install pyqt5-tools
    
  2. win+s,搜索designer
  3. 驗證是否安裝成功
    終端輸入pyuic5
    輸出“Error: one input ui-file must be specified”,即安裝成功
    

PyQt基礎學習
1.main window 創建主窗口
2.Widget Box 自由拖動組件
3.基礎學習

  1. 添加文本 Label

  2. 添加按鈕 PushButton

  3. 修改窗口標題 windowTitle

  4. 預覽 Form > Preview / Preview in

  5. 保存

  6. 生成python代碼

    使用cmd將目錄切到D盤並執行下面的命令。請自行將下面命令中的name替換成文件名
    1.cd /d D:\AI\PyMyWork\UI
    2.pyuic5 -o name.py name.ui
    
  7. 運行Python代碼

    需重新創建一個main.py程序運行由.ui轉換成的.py文件
    import sys
    from PyQt5.QtWidgets import QApplication, QMainWindow
    import gui_file_name
    if __name__ == '__main__':
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = gui_file_name.Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())
    

    功能介紹
    1.按鈕的使用 PushButton

    1. 獲取按鈕的ID
      ObjectName:PushButton

    2. 設置觸發

      直接在“main.py”中“MainWindow.show()”的後面加入下面這樣的一行代碼
      

      ui.pushButton.clicked.connect(click_success)

      # pushButton就是剛剛獲取的按鈕id
      # clicked就是信號,因為是點擊,所以我們這裡用clicked
      # click_success就是對應要調用的槽,注意這裡函數並不寫成click_success()
      
    3. 設置函數
      在main.py中定義一個click_success,用於按鈕的觸發

    4. 運行
      控制台會出現結果

  8. 生成可執行文件(.exe)
    pip install pyinstaller
    安裝完成以後打開CMD然後cd到程序所在的文件夾,輸入
    pyinstaller -F -w main.py

    # 在代碼所在文件夾中找到dist文件夾,該文件夾中就出現了exe軟件,雙擊即可打開。
    # 命令中-w的意思是:直接發布的exe應用帶命令行調試窗口,在指令內加入-w命令可以屏蔽
    # 命令中-F的意思是:使用-F指令可以把應用打包成一個獨立的exe文件,否則是一個帶各種dll和依賴文件的文件夾
    

4.案例1:GUI的匯率轉換器

  1. 設計ui
  2. 傳參
    一種是使用lambda,一種是使用functool.partial
    partial的用法如下所示:
    partial(function, arg1, arg2, ......)
    要在程序(main.py)的頭部加上下面這行
    from functools import partial
    按鈕觸發那行代碼修改成下面所示:
    ui.pushButton.clicked.connect(partial(convert, ui))
  3. 編寫convert函數
    def convert(ui):
    input = ui.lineEdit.text()
    result = float(input) * 6.7
    ui.lineEdit_2.setText(str(result))
    

5.相關學習鏈接

  1. https://www.jianshu.com/p/4993f37b43e6
  2. https://zhuanlan.zhihu.com/p/95624918
  3. https://www.cnblogs.com/wojianxin/p/12629085.html

6.直接使用pycharm轉換成python程序
https://www.py.cn/jishu/gaoji/18503.html


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved