在PyQt5系列教程的第一篇http://blog.csdn.net/djstavaV/article/details/50218157,我們已經(jīng)搭建好了開發(fā)環(huán)境,今天,我們就用Python開發(fā)第一個Qt GUI程序,讓大家感受下Qt開發(fā)的魅力,熟悉下Qt開發(fā)GUI程序的一般流程。
制作程序UI界面,一般會有2種方法,利用UI制作工具和純代碼編寫,像移動開發(fā)中的Android和iOS都是這樣,在PyQt5中,我們也有這么2種方式。
QtDesigner是專門用來制作Qt程序UI界面的工具,它使用起來非常簡單,只要通過拖拽和點擊就可以完成復(fù)雜的界面設(shè)計,而且還可以隨時預(yù)覽查看效果圖。
其中,區(qū)域1是UI界面制作導(dǎo)向,QtDesigner為我們提供了一些常用模塊,非常方便;區(qū)域2是UI控件列表;區(qū)域3是控件屬性列表;區(qū)域4是Action Editor編輯列表;區(qū)域5信號和槽的編輯列列表;區(qū)域6是資源處理窗口。
說了這么多,還不如來動手實踐一下。
這個是我們第一個PyQt5項目的界面效果圖,需要實現(xiàn)的是當點擊界面上的按鈕時,彈出一個提示框,提示框內(nèi)顯示一串文字。
好了,目標定好了,馬上開始去實現(xiàn)它。
創(chuàng)建一個基于Main Window模塊的UI文件,取名叫firstPyQt5.ui。從Widget Box中找到(也可以)Push Button,將它拖拽到工作空間里,調(diào)整位置,在Button上輸入文字,調(diào)整字體及大小,這些都可以在Property Editor里操作。按鈕點擊彈框的操作會牽出Qt里非常重要的一對概念,即信號和槽(signal and slot),關(guān)于這個我打算再開一篇博文細講。現(xiàn)在你只需要知道slot就是一個函數(shù),如果一個signal和一個slot綁定以后,那么signal被觸發(fā),slot就會被執(zhí)行。
那么問題來了,怎么在QtDesigner里綁定signal和slot呢?打開菜單欄里的Edit—>Edit Signals/Slots,然后光標移到按鈕上點擊拖拽,這時會彈出一個編輯框
因為是點擊,所以signal選擇clicked(),slot函數(shù)現(xiàn)在還沒有,我們就點擊Edit新建一個,叫firstPyQt5_button_click()
為了演示一下資源文件的使用,這里導(dǎo)入兩張圖片,一張給主窗口,另一張給幫助菜單項里的Action。
在QtDesigner引用資源文件之前,需要先準備一個qrc文件,它跟xml文件比較類似,用來制定資源文件的路徑
qt.png penguin.jpg
接下來就可以在QtDesigner的Resource Browser里倒入qrc文件,這樣qrc文件中描述的資源就可以使用了
非常簡單,通過Qt提供的命令行工具pyuic5就可以輕松實現(xiàn)
pyuic5 -o firstPyQt5.py firstPyQt5.ui
新建一個新的python文件main.py,代碼如下
# -*- coding: utf-8 -*-__author__ = 'djstava@gmail.com'import sysfrom PyQt5.QtWidgets import QApplication , QMainWindowfrom firstPyQt5 import *if __name__ == '__main__': ''' 主函數(shù) ''' app = QApplication(sys.argv) mainWindow = QMainWindow() ui = Ui_mainWindow() ui.setupUi(mainWindow) mainWindow.show() sys.exit(app.exec_())
接下修改下firstPyQt5.py文件,主要是去實現(xiàn)slot函數(shù),因為之前在QtDesigner里沒有實現(xiàn),讓它彈出一個消息框
def firtPyQt5_button_click(self): QtWidgets.QMessageBox.information(self.pushButton,"標題","這是第一個PyQt5 GUI程序")
最后運行下工程
這里一般將ui文件單獨存成一個文件,便于更新。
http://download.csdn.net/detail/djstavav/9351205
http://www.bkjia.com/PHPjc/1080261.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1080261.htmlTechArticlePyQt5系列教程(二)利用QtDesigner設(shè)計UI界面 軟硬件環(huán)境 OS X EI Capitan Python 3.5.1 PyQt 5.5.1 PyCharm 5.0.1 前言 在PyQt5系列教程的第一篇http://blog.csdn.n...
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。
新聞熱點
疑難解答
圖片精選