我想知道鼠标悬停在标签上时的位置。我读了this,但我的问题不同。我需要抓住鼠标的位置,因为它悬停在我的标签上而不点击,所以,mouseMoveEvent没有帮助
这是我的密码:
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.WindowGUI()
self.level = "Image Not Loaded Yet"
self.mouseIsClicked = False
self.top = 90
self.left = 90
self.height = 1800
self.width = 1800
self.setGeometry(self.top, self.left, self.height, self.width)
self.setWindowTitle("Manual Contact Andgle")
self.setMouseTracking(True)
mainWidget = QWidget(self)
self.setCentralWidget(mainWidget)
mainWidget.setLayout(self.finalVbox)
self.show()
def WindowGUI(self):
self.finalVbox = QVBoxLayout() # Final Layout
self.mainHBox = QHBoxLayout() # Hbox for picLable and Buttons
self.mainVBox = QVBoxLayout() # VBox for two Groupboxes
self.lineVBox = QVBoxLayout() # VBox For Line Drawing Buttons
self.fileVBox = QVBoxLayout() # VBox for file Loading and Saving Buttons
self.lineGroupbox = QGroupBox("Drawing") # GroupBox For Line Drawing Buttons
self.fileGroupbox = QGroupBox("File") # GroupBox for File Loading and Saving Buttons
self.picLable = Label(self) # Lable For showing the Image
self.piclable_pixmap = QPixmap("loadImage.png") # Setting Pixmap
self.picLable.setPixmap(self.piclable_pixmap) # setting pixmap to piclable
def mouseMoveEvent(self, QMouseEvent):
print(QMouseEvent.pos())
如果要在不按下小部件的情况下检测鼠标位置,则必须启用捕鼠器,以便在按下或不按下鼠标时调用mouseMoveEvent。如果要验证鼠标是否未按下,则必须使用buttons()方法:
更新:
如果子项不使用鼠标事件,则会将鼠标事件从子项传播到父项,也就是说,如果子项使用鼠标事件,则父项无法使用鼠标事件。因此QLabel正在使用该事件,因此不会通知窗口,因此在这种情况下应使用eventFilter:
您可以使用
enterEvent
每次鼠标悬停在小部件上时,都会调用Enter事件。使用
event.pos()
可以获得鼠标坐标相关问题 更多 >
编程相关推荐