python之pyqt4的簡單視窗布局以及訊號和槽(上代碼),pythonpyqt4
#-*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
from PyQt4 import QtGui,QtCore
'''app=QtGui.QApplication(sys.argv)
w=QtGui.QWidget()
w.resize(300,250)
w.move(200,100)
w.setWindowTitle('code10')
w.show()
sys.exit(app.exec_())'''
class Index(QtGui.QWidget):
def __init__(self,parent=None):
QtGui.QWidget.__init__(self,parent)
#設定視窗大小和位置
self.setGeometry(600,100,400,650)
#設定視窗名字
self.setWindowTitle(u'code代碼')
#設定視窗表徵圖
self.setWindowIcon(QtGui.QIcon('../pic/0321.png'))
#設定視窗提示(代碼不起作用)
#self.setToolTip(u'This is a<b>QWidget</b>widget')
#QtGui.QToolTip.setFont(QtGui.QFont('OldEnglish',20))
#建立按鈕
quit=QtGui.QPushButton(u'點擊關閉',self)
#建立按鈕位置
quit.setGeometry(0,0,60,35)
#點擊按鈕關閉(PyQt4的事件處理系統建立在訊號-槽機制之上)
self.connect(quit,QtCore.SIGNAL('clicked()'),QtGui.qApp,QtCore.SLOT('quit()'))
#關閉視窗的方法
def closeEvent(self,event):
#關閉視窗觸發closeEvent方法
reply=QtGui.QMessageBox.question(self,u'提示',u"你確定關閉嗎?",QtGui.QMessageBox.Yes,QtGui.QMessageBox.No)
#第一個字串參數提示在訊息視窗的標題列顯示,
#第二個字串參數一對話的形式顯示在訊息視窗中
#返回的結果被儲存在reply變數中
if reply==QtGui.QMessageBox.Yes:
#同意
event.accept()
else:
#忽視
event.ignore()
app=QtGui.QApplication(sys.argv)
index=Index()
index.show()
sys.exit(app.exec_())