pyqt5移动鼠标显示坐标的方法
如下所示:
#-*-coding:utf-8-*-
importsys
fromPyQt5.QtWidgetsimport(QApplication,QMainWindow,QLabel)
fromPyQt5.QtCoreimportQt
classAppDemo(QMainWindow):
def__init__(self):
super(AppDemo,self).__init__()
self.init_ui()
definit_ui(self):
self.resize(300,200)
self.setWindowTitle('666')
self.label=QLabel(self)
self.label.setAlignment(Qt.AlignCenter)
self.label.setText('六神花露水')
self.label.setGeometry(5,5,145,185)
self.label.setMouseTracking(True)
self.label_mouse_x=QLabel(self)
self.label_mouse_x.setGeometry(155,5,80,30)
self.label_mouse_x.setText('x')
self.label_mouse_x.setMouseTracking(True)
self.label_mouse_y=QLabel(self)
self.label_mouse_y.setText('y')
self.label_mouse_y.setGeometry(155,40,80,30)
self.label_mouse_y.setMouseTracking(True)
defmouseMoveEvent(self,event):
s=event.windowPos()
self.setMouseTracking(True)
self.label_mouse_x.setText('X:'+str(s.x()))
self.label_mouse_y.setText('Y:'+str(s.y()))
defrun_it():
app=QApplication(sys.argv)
w=AppDemo()
w.show()
sys.exit(app.exec_())
if__name__=='__main__':
run_it()
特别注意:
在继承QMainwindow的时候,如果你想在窗口中任意位置都获取坐标值的话,就得对每个控件都设置setMouseTracking(True),不然就会出现鼠标在空间上面的时候无法获取坐标值;如果你在重写mouseMoveEvent的时候不加setMouseTracking(True),那么你只有按住鼠标左键移动的时候才会获取值。所以,把想获取的地方都加上吧。
以上这篇pyqt5移动鼠标显示坐标的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。