You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyQt5中如何通过鼠标点击调用函数并在点击位置添加QLabel

实现左键点击添加QLabel的修改方案

你可以直接使用下方修改后的可运行代码,核心调整逻辑如下:

  • 过滤鼠标左键点击事件,避免其他按键误触发
  • 点击时获取当前坐标传递给标签创建逻辑
  • 调整标签位置到点击坐标并渲染显示
  • 修复原代码的缩进、重复导包等语法错误
import sys
from PyQt5.QtWidgets import QApplication, QLabel, QWidget
from PyQt5.QtCore import Qt

class MouseTracker(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Mouse Tracker')
        self.show()

    def mousePressEvent(self, event):
        # 仅响应鼠标左键点击
        if event.button() == Qt.LeftButton:
            # 传入点击位置的相对坐标
            self.todo(event.x(), event.y())

    def todo(self, pos_x, pos_y):
        # 创建标签并设置位置
        new_label = QLabel('This is label', self)
        new_label.move(pos_x, pos_y)
        new_label.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MouseTracker()
    sys.exit(app.exec_())

如果需要自定义标签的样式、大小,可以在todo函数中调用new_label.setStyleSheet()、new_label.resize()等方法自行调整。

内容的提问来源于stack exchange,提问作者Ailaqi Barca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:24:05