マウスが上にマウスを移動されたときに調べるために前に私がのQPushButtonのmouseMoveEventをサブクラス化しました。ここではサンプルです:
from PyQt4.QtGui import QApplication, QMainWindow, QPushButton, \
QVBoxLayout, QWidget
class HoverButton(QPushButton):
def __init__(self, parent=None):
QPushButton.__init__(self, parent)
self.setMouseTracking(True)
def mouseMoveEvent(self, event):
print 'Mouse moved!'
class MainWindow(QMainWindow):
def __init__(self, parent=None):
QMainWindow.__init__(self, parent)
button = HoverButton('Test')
centralWidget = QWidget()
vbox = QVBoxLayout(centralWidget)
vbox.addWidget(button)
self.setCentralWidget(centralWidget)
def startmain():
app = QApplication(sys.argv)
mainwindow = MainWindow()
mainwindow.show()
sys.exit(app.exec_())
if __name__ == "__main__":
import sys
startmain()
あなたのHoverButtonオブジェクトが信号を発した後、あなたのメインウィンドウの信号に他の機能を接続して作ることができます。
マウスがQPushButtonに入ったり出たりするタイミングを知りたい場合は、代わりにenterEventとleaveEventメソッドを再実装してください。ボタンが含まれ、あなたのウィンドウで