PyQt5 – 如何获得标签坐标

  • Post category:Python

要获得PyQt5标签(Label)的坐标,可以使用geometry()方法,该方法返回一个QRect对象,其中包含标签的位置和大小信息。

以下是获取标签坐标的示例代码:

from PyQt5.QtWidgets import QApplication, QLabel, QWidget

app = QApplication([])
widget = QWidget()
widget.resize(300, 300)

# 在窗口中添加标签
label = QLabel(widget)
label.setText('Hello PyQt5!')
label.move(100, 100)

# 获取标签坐标和大小
rect = label.geometry()
print('标签位置(x, y):', rect.x(), rect.y())
print('标签大小(width, height):', rect.width(), rect.height())

widget.show()
app.exec_()

在这个示例中,我们创建了一个QLabel对象,并将其添加到窗口中。然后,我们使用move()方法将标签移动到指定的位置。

接下来,我们使用geometry()方法获取标签的位置和大小信息,并打印到控制台中。

通过运行上述代码,我们可以看到以下输出:

标签位置(x, y): 100 100
标签大小(width, height): 99 13

第二个示例代码是,当鼠标点击标签时,打印标签的坐标和大小:

from PyQt5.QtWidgets import QApplication, QLabel, QWidget

app = QApplication([])
widget = QWidget()
widget.resize(300, 300)

# 在窗口中添加标签
label = QLabel(widget)
label.setText('Click me!')
label.move(100, 100)

# 当鼠标点击标签时,打印标签坐标和大小
def on_click():
    rect = label.geometry()
    print('标签位置(x, y):', rect.x(), rect.y())
    print('标签大小(width, height):', rect.width(), rect.height())

label.mousePressEvent = on_click

widget.show()
app.exec_()

在这个示例中,我们创建了一个QLabel对象,并将其添加到窗口中。然后,我们定义了一个名为on_click()的函数,该函数在鼠标单击label时被调用。当on_click()函数被调用时,它将计算标签的位置和大小,并将其打印到控制台。

通过运行上述代码,当鼠标点击标签时,我们可以看到如下输出:

标签位置(x, y): 100 100
标签大小(width, height): 56 13

通过观察上述代码,我们可以看到在PyQt5中获得标签坐标的过程非常简单,只需要使用geometry()方法即可。