PyQt4學(xué)習(xí)筆記-001

PyQt4學(xué)習(xí)筆記-001

@(PyQt_001)[PyQt|高級(jí)篇|筆記|Python]

內(nèi)容來(lái)自zetcode.com

簡(jiǎn)單實(shí)例

  • 建立一個(gè)簡(jiǎn)單的窗口界面
#-*- coding: UTF-8 -*-
import sys #導(dǎo)入Sys模塊
from PyQt4 import QtGui #導(dǎo)入QtGui
def main():
    app = QtGui.QApplication(sys.argv)  #每一個(gè)GUI程序都必須創(chuàng)建app應(yīng)用
    widget = QtGui.QWidget()  #所有圖形化界面的一個(gè)基類,相當(dāng)于GUI的主窗口

    widget.resize(500,350)  #設(shè)置窗口尺寸大小 width = 500,height = 350
    widget.move(300,300) #窗口位置
    widget.setWindowTitle(u"First Application Gui") #設(shè)置窗口標(biāo)題文字
    widget.show()  #顯示窗口

    sys.exit(app.exec_())  #應(yīng)用退出
if __name__ == '__main__':
    main()

返回結(jié)果

PyQt4_001_Pic001.PNG

給標(biāo)題欄添加一個(gè)圖標(biāo)

  • 將代碼組織成類的形式
# -*-coding:utf-8-*-
import sys #導(dǎo)入Sys模塊
from PyQt4 import QtGui,QtCore
class Icon(QtGui.QWidget):#創(chuàng)建類繼承自QtGui.QWidget

    def __init__(self):
        super(Icon,self).__init__()
        self.initUI()
  • 創(chuàng)建方法
    def initUI(self): #創(chuàng)建initUI方法
        self.setGeometry(500,400,350,200) #同時(shí)定義了窗口位置及大小
        self.setWindowTitle("Icon")
        self.setWindowIcon(QtGui.QIcon("icons/sublime.png"))#創(chuàng)建一個(gè)圖標(biāo) 左上角,圖標(biāo)文件須和程序在一個(gè)目錄下
        self.show()
  • 調(diào)用執(zhí)行
def main():
    app = QtGui.QApplication(sys.argv)
    t = Icon() 
    sys.exit(app.exec_())  
if __name__ == "__main__":
    main()
  • 返回結(jié)果
    PyQt4_001_Pic002.PNG

增加工具提示Tooltip

  • 修改initUI方法
    def initUI(self):
        
        QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10)) #Tooltip字體設(shè)置
        
        self.setToolTip('This is a <b>QWidget</b> widget') #創(chuàng)建Tooltip
        
        btn = QtGui.QPushButton('Button', self) #創(chuàng)建按鈕
        btn.setToolTip('This is a <b>QPushButton</b> widget') #將Tooltip鏈接到此按鈕
        btn.resize(btn.sizeHint()) #自動(dòng)給按鈕定義一個(gè)合適的尺寸
        btn.move(50, 50) #按鈕位置       
        
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Tooltips')    
        self.show()
  • 返回結(jié)果
    PyQt4_001_Pic003.PNG

通過(guò)按鈕關(guān)閉窗口

# -*-coding:utf-8-*-
import sys #導(dǎo)入Sys模塊
from PyQt4 import QtGui,QtCore #導(dǎo)入QtCore模塊
class Quitbutton(QtGui.QWidget):

    def __init__(self):
        super(Quitbutton,self).__init__()
        self.initUI()

    def initUI(self):  
#按鈕創(chuàng)建
        closebutton = QtGui.QPushButton("Close",self)
#信號(hào)與槽機(jī)制觸發(fā)按鈕動(dòng)作,信號(hào)與quit()方法連接,按鈕發(fā)送信號(hào),應(yīng)用程序接受信號(hào)觸發(fā)動(dòng)作
        closebutton.clicked.connect(QtCore.QCoreApplication.instance().quit)
        closebutton.resize(closebutton.sizeHint())
        closebutton.move(50,50)


#程序窗口創(chuàng)建
        self.setGeometry(500,400,350,200)
        self.setWindowTitle(u"Quit button")
#創(chuàng)建一個(gè)圖標(biāo) 左上角        
        self.setWindowIcon(QtGui.QIcon("icons/sublime.png"))
        self.show()

def main():
    app = QtGui.QApplication(sys.argv)
    t = Quitbutton() 
    sys.exit(app.exec_())  


if __name__ == "__main__":
    main()

創(chuàng)建彈出信息

關(guān)閉窗口,彈出信息

# -*-coding:utf-8-*-
import sys #導(dǎo)入Sys模塊
from PyQt4 import QtGui,QtCore #導(dǎo)入QtCore模塊
class Messagebox(QtGui.QWidget):

    def __init__(self):
        super(Messagebox,self).__init__()
        self.initUI()

    def initUI(self):  
        self.setGeometry(500,400,350,200)
        self.setWindowTitle("Message Box")
        self.setWindowIcon(QtGui.QIcon("icons/sublime.png"))
        self.show()
#參數(shù)1 繼承對(duì)象
#參數(shù)2 窗口title
#參數(shù)3 窗口顯示內(nèi)容
#參數(shù)4 窗口內(nèi)選項(xiàng)
#參數(shù)5 默認(rèn)選項(xiàng)
    def closeEvent(self,event):
        reply = QtGui.QMessageBox.question(self,'Message',"Are you sure to quit?", QtGui.QMessageBox.Yes|QtGui.QMessageBox.No, QtGui.QMessageBox.No)

        if reply == QtGui.QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()

def main():
    app = QtGui.QApplication(sys.argv)
    t = Messagebox() 
    sys.exit(app.exec_())  


if __name__ == "__main__":
    main()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • *7月8日上午 N:Block :跟一個(gè)函數(shù)塊差不多,會(huì)對(duì)里面所有的內(nèi)容的引用計(jì)數(shù)+1,想要解決就用__block...
    炙冰閱讀 2,715評(píng)論 1 14
  • 如果有那么一天,你披上婚紗步入殿堂,成為他人的新娘,我絕口不提當(dāng)年的瘋狂! 倘若有這么一日,我穿上西裝踏入禮堂,化...
    眉眼如初戀閱讀 307評(píng)論 0 0
  • 簡(jiǎn)介 軟件包管理器 pacmanpacman 是 Arch Linux 的包管理器,用于管理(安裝/卸載)系統(tǒng)上的...
    FiveStrong閱讀 1,865評(píng)論 0 6
  • 一、函數(shù)式編程 抽象程度高,執(zhí)行效率低純粹的函數(shù)式編程編寫(xiě)的函數(shù)沒(méi)有變量,輸入確定則輸出確定,稱之為沒(méi)有副作用允許...
    小灰灰233閱讀 272評(píng)論 0 0
  • * 快樂(lè)的童年時(shí)光總是在不經(jīng)意中悄悄流逝。轉(zhuǎn)眼間,小鴿子就要大班畢業(yè)了!靜下心來(lái),翻看了寶貝的影相,這三年...
    周末的問(wèn)候閱讀 2,225評(píng)論 1 2

友情鏈接更多精彩內(nèi)容