#!python # -*- mode: python; coding: utf-8 -*- # Last updated: <2016/10/20 04:14:06 +0900> """ PySideのWidget内にマウスカーソルが出たり入ったりした時のイベント動作を確認 Windows10 x64 + Python 2.7.11 + PySide """ import sys from PySide.QtCore import * from PySide.QtGui import * class MyLabel(QLabel): def __init__(self, *argv, **keywords): super(MyLabel, self).__init__(*argv, **keywords) self.setFrameStyle(QFrame.Box | QFrame.Raised) self.setFixedSize(240, 64) self.enterCount = 0 self.leaveCount = 0 def enterEvent(self, event): self.enterCount += 1 self.setText("enterEvent %d" % self.enterCount) def leaveEvent(self, event): self.leaveCount += 1 self.setText("leaveEvent %d" % self.leaveCount) class MyWidget(QWidget): def __init__(self, *argv, **keywords): super(MyWidget, self).__init__(*argv, **keywords) layout = QVBoxLayout(self) layout.addWidget(MyLabel("Please move mouse cursor")) layout.addWidget(MyLabel("Please move mouse cursor")) layout.addWidget(MyLabel("Please move mouse cursor")) self.setLayout(layout) def main(): app = QApplication(sys.argv) w = MyWidget() w.show() sys.exit(app.exec_()) if __name__ == '__main__': main()