2014年11月12日 星期三
PyQt教學(4)-抓取滑鼠以及鍵盤事件
完整範例代碼如下!
import sys, os
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class QWindow(QWidget):
def __init__(self):
super(QWindow, self).__init__()
self.setWindowTitle("Hello World")
self.setWindowIcon(QIcon('image.ico'))
self.setGeometry(480, 200, 400, 300)
self.label = QLabel(
'點擊滑鼠左鍵可顯示當前滑鼠的座標!',self)
self.label.setFont(QFont('Arial',12,0,False))
self.show()
#重定義滑鼠事件,讓左鍵點擊時打印滑鼠座標
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
p = self.mapFromGlobal(QCursor.pos())
self.label.setText(
'(%d , %d)'%(p.x(),p.y()))
#重定義鍵盤事件
def keyPressEvent(self, event):
if QApplication.keyboardModifiers() == \
Qt.ShiftModifier:
if event.key() == Qt.Key_A:
self.label.setText(
'you press Shift+A !')
elif event.key() == Qt.Key_F1:
self.label.setText('you press F1 !')
elif event.key() == Qt.Key_Return:
self.label.setText('you press enter !')
else:
#使用該按鍵的預設動作
QWidget.keyPressEvent(self, event)
#增加離開事件(按右上角叉叉時的動作)
def closeEvent(self, event):
QMessageBox.warning(None,'mesage','GoodBye!')
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = QWindow()
sys.exit(app.exec_())
上一篇 回目錄
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言