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()