首页 > 解决方案 > PyQt5。如何在与 ContextMenu 连接的 QTextEdit 中获取光标位置?

问题描述

我尝试在以下位置获取光标位置QTextEdit

class CustomEdit(QTextEdit):
    def __init__(self):
       super(CustomEdit, self).__init__()
       self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
       self.cursor = self.textCursor()
       self.menu = None
       self.customContextMenuRequested.connect(self.create_menu)

    def create_menu(self, pos):
        self.menu = QMenu()
        self.menu.addSeparator()
        func = self.menu.addAction(u'function')
        action = self.menu.exec_(self.viewport().mapToGlobal(pos))
        if action == func:
            self.func()

    def func(self)
            print(self.cursor.positionInBlock())

但它不起作用。

标签: pythonpyqtpyqt5

解决方案


有点晚了,但我也在寻找这个,发现你可以self.QTextEdit.textCursor().position()用来获取光标位置的整数。


推荐阅读