어떻게하면 Qt.SIGNAL을 사용하여 마우스 해제 동작을 시뮬레이션 할 수 있습니까? 사용자 상호 작용없이 mouseRelease를 시뮬레이트해야합니다. 미리 감사드립니다.마우스 릴리즈 시뮬레이션 Pyqt
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from PyQt4 import QtGui, QtCore
class MyWindow(QtGui.QWidget):
def __init__(self, parent=None):
super(MyWindow, self).__init__(parent)
self.pushButtonSimulate = QtGui.QPushButton(self)
self.pushButtonSimulate.setText("Simulate Mouse Release!")
self.pushButtonSimulate.clicked.connect(self.on_pushButtonSimulate_clicked)
self.layoutHorizontal = QtGui.QHBoxLayout(self)
self.layoutHorizontal.addWidget(self.pushButtonSimulate)
@QtCore.pyqtSlot()
def on_pushButtonSimulate_clicked(self):
mouseReleaseEvent = QtGui.QMouseEvent(
QtCore.QEvent.MouseButtonRelease,
self.cursor().pos(),
QtCore.Qt.LeftButton,
QtCore.Qt.LeftButton,
QtCore.Qt.NoModifier,
)
QtCore.QCoreApplication.postEvent(self, mouseReleaseEvent)
def mouseReleaseEvent(self, event):
if event.button() == QtCore.Qt.LeftButton:
print "Mouse Release"
super(MyWindow, self).mouseReleaseEvent(event)
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
app.setApplicationName('MyWindow')
main = MyWindow()
main.show()
sys.exit(app.exec_())
내가 찾고있는 곳! Excelent 대답! – karensantana
정확히 동일한 코드를 시도했지만 아무 것도하지 않는 것 같습니다. 프레스 = QMouseEvent (QEvent.MouseButtonPress, POS, Qt.LeftButton, Qt.LeftButton, Qt.NoModifier) 인쇄 ("Testing2") 방출 = QMouseEvent (QEvent.MouseButtonRelease, POS, Qt.LeftButton, Qt.LeftButton (self.view, press) time.sleep (1) QApplication.postEvent (self.view, release) – d34th4ck3r