J'utilise PyQt4.QMainWindow comme interface d'application, et je veux obtenir les coordonnées x et y de la souris à l'intérieur d'un QWidget et les définir de façon continue dans 2 textBrowsers dans le Fenêtre principale.Utilisation de PyQt4.QtGui.QMouseEvent dans un QWidget
La documentation de QWidget est here. La documentation de QMouseEvent est here.
Voici le code
from PyQt4 import QtGui
from PyQt4.QtGui import QApplication
import sys
class Ui_MainWindow(object):
def setupUI(self, MainWindow):
self.textBrowser_1 = QtGui.QTextBrowser(self.tab)
self.textBrowser_2 = QtGui.QTextBrowser(self.tab)
self.widget_1 = QtGui.QWidget(self.tab)
self.widget_1.setMouseTracking(True)
class MyMainScreen(QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
self.ui = Ui_MainWindow() # This is from a python export from QtDesigner
# There is a QWidget inside that is self.ui.widget_1
# and 2 textBrowsers, textBrowser_1 and textBrowser_2
# I want to populate these 2 textBrowsers with the current x,y
# coordinates.
if __name__ == "__main__":
app = QApplication(sys.argv)
mainscreen = MyMainScreen()
mainscreen.show()
app.exec_()
essayer ma solution – eyllanesc
Vous semblez ne pas savoir beaucoup sur Qt. MouseMoveEvent est un rappel d'événement qui est appelé depuis le framework à chaque fois que la souris se déplace dans le widget. C'est probablement ce que vous voulez avoir, mais au lieu de l'appeler (cela n'a pas de sens), vous voulez probablement le remplacer et y implémenter vos propres actions. – Trilarion
Copie possible de [Utilisation de PyQt4, comment définir un mouseMoveEvent pour travailler uniquement à l'intérieur d'un QWidget dans un QMainWindow, mais pas dans MainWindow] (http://stackoverflow.com/questions/40878157/using-pyqt4-how-do -you-set-a-mousemoveevent-to-only-travail-inside-of-a-qwidget-in) –