當前位置:首頁 » 編程語言 » pythonqt編程

pythonqt編程

發布時間: 2023-08-29 18:19:21

1. python怎麼使用qtdesigner設計的ui

軟硬體環境

  • OS X EI Capitan

  • Python 3.5.1

  • PyQt 5.5.1

  • PyCharm 5.0.1

  • 前言

    在PyQt5系列教程的第一篇h50218157,我們已經搭建好了開發環境,今天,我們就用Python開發第一個Qt GUI程序,讓大家感受下Qt開發的魅力,熟悉下Qt開發GUI程序的一般流程。

    製作程序UI界面,一般會有2種方法,利用UI製作工具和純代碼編寫,像移動開發中的Android和iOS都是這樣,在PyQt5中,我們也有這么2種方式。

    QtDesigner工具簡介

    QtDesigner是專門用來製作Qt程序UI界面的工具,它使用起來非常簡單,只要通過拖拽和點擊就可以完成復雜的界面設計,而且還可以隨時預覽查看效果圖。

    其中,區域1是UI界面製作導向,QtDesigner為我們提供了一些常用模塊,非常方便;區域2是UI控制項列表;區域3是控制項屬性列表;區域4是Action Editor編輯列表;區域5信號和槽的編輯列列表;區域6是資源處理窗口。

    第一個PyQt5程序

    說了這么多,還不如來動手實踐一下。

    這個是我們第一個PyQt5項目的界面效果圖,需要實現的是當點擊界面上的按鈕時,彈出一個提示框,提示框內顯示一串文字。

    好了,目標定好了,馬上開始去實現它。

    QtDesigner設計UI

    創建一個基於Main Window模塊的UI文件,取名叫firstPyQt5.ui。從Widget Box中找到(也可以)Push Button,將它拖拽到工作空間里,調整位置,在Button上輸入文字,調整字體及大小,這些都可以在Property Editor里操作。按鈕點擊彈框的操作會牽出Qt里非常重要的一對概念,即信號和槽(signal and slot),關於這個我打算再開一篇博文細講。現在你只需要知道slot就是一個函數,如果一個signal和一個slot綁定以後,那麼signal被觸發,slot就會被執行。

    那麼問題來了,怎麼在QtDesigner里綁定signal和slot呢?打開菜單欄里的Edit—>Edit Signals/Slots,然後游標移到按鈕上點擊拖拽,這時會彈出一個編輯框

    因為是點擊,所以signal選擇clicked(),slot函數現在還沒有,我們就點擊Edit新建一個,叫firstPyQt5_button_click()

    為了演示一下資源文件的使用,這里導入兩張圖片,一張給主窗口,另一張給幫助菜單項里的Action。

    在QtDesigner引用資源文件之前,需要先准備一個qrc文件,它跟xml文件比較類似,用來制定資源文件的路徑

  • <RCC version="1.0">

  • <qresource>

  • <file>qt.png</file>

  • <file>penguin.jpg</file>

  • </qresource>

  • </RCC>

  • 接下來就可以在QtDesigner的Resource Browser里倒入qrc文件,這樣qrc文件中描述的資源就可以使用了

    將firstPyQt5.ui轉換成python代碼

    非常簡單,通過Qt提供的命令行工具pyuic5就可以輕松實現

  • pyuic5 -o firstPyQt5.py firstPyQt5.ui

  • 創建PyCharm工程

    新建一個新的python文件main.py,代碼如下

  • # -*- coding: utf-8 -*-

  • __author__ = '[email protected]'


  • import sys


  • from PyQt5.QtWidgets import QApplication , QMainWindow


  • from firstPyQt5 import *


  • if __name__ == '__main__':

  • '''

  • 主函數

  • '''


  • app = QApplication(sys.argv)

  • mainWindow = QMainWindow()

  • ui = Ui_mainWindow()

  • ui.setupUi(mainWindow)

  • mainWindow.show()

  • sys.exit(app.exec_())

  • 接下修改下firstPyQt5.py文件,主要是去實現slot函數,因為之前在QtDesigner里沒有實現,讓它彈出一個消息框

  • def firtPyQt5_button_click(self):

  • QtWidgets.QMessageBox.information(self.pushButton,"標題","這是第一個PyQt5 GUI程序")

  • 最後運行下工程

    這里一般將ui文件單獨存成一個文件,便於更新。

2. 界面編程學C++Qt好還是python好

就qt和python來說,如果你有c++基礎的話,我推薦學qt,因為學習成本不高,而且學會qt後,用python也可以調用qt庫來編寫圖形界面程序。如果沒有編程基礎的話,學python更好,簡單易學,功能強大。發展前景方面,應該是差不多吧,python目前比較火

熱點內容
編程課v 發布:2025-02-04 08:45:00 瀏覽:104
模擬器能有手機腳本么 發布:2025-02-04 08:39:50 瀏覽:757
android顯示html圖片 發布:2025-02-04 08:35:31 瀏覽:791
如何查學信網賬號及密碼 發布:2025-02-04 08:33:55 瀏覽:502
linux32位jdk 發布:2025-02-04 08:33:55 瀏覽:247
康佳伺服器連接失敗是怎麼回事 發布:2025-02-04 08:18:51 瀏覽:916
編譯編譯有什麼 發布:2025-02-04 08:05:52 瀏覽:735
讓外網訪問內網伺服器 發布:2025-02-04 08:02:20 瀏覽:783
奶塊腳本菜地 發布:2025-02-04 07:46:35 瀏覽:238
條形碼識別源碼 發布:2025-02-04 07:45:55 瀏覽:457