【发布时间】:2020-04-10 08:11:39
【问题描述】:
我正在使用“PyQt4”开发一个桌面应用程序。该应用程序包含一个在 Qscintilla 之上实现的 XML 编辑器。但是,每当我单击通过指示器定义的类似超链接的文本时,我都会遇到问题。调用了“indicatorClicked”事件,但是当我在其中执行“SCI_GOTOLINE”API 时,它会正确地转到所需的行,但不幸的是,由于某种原因,它会从单击的文本位置选择文本直到目标行。对我来说,好像鼠标没有被释放!我也尝试使用“indicatorReleased”事件,但没有成功!你知道如何解决这个问题吗?
这就是我挂钩指示器释放事件的方式:
self.__editor.indicatorReleased.connect(self.__on_indicator_released)
事件处理程序只是将 SCI_GOTOLINE API 调用到某个行号:
def __on_indicator_released(self, line_number, index, keys):
self.__editor.SendScintilla(QsciScintilla.SCI_GOTOLINE, line_number)
【问题讨论】:
-
问题得到解决,我在下面发布了解决方案。但是,我将编辑原始问题并粘贴代码状态 - 在修复之前
-
很高兴您找到了答案,但提供 MRE 也很棒(对于未来的出版物),因为它可以帮助社区理解您的问题,因此更容易尝试帮助您。跨度>
-
当然。我完全同意你的看法。感谢您的理解:)
标签: python pyqt pyqt4 qscintilla