Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 单击QTextDocument中的链接时生成自定义事件_Python_Python 3.x_Pyqt_Pyqt5_Qtextdocument - Fatal编程技术网

Python 单击QTextDocument中的链接时生成自定义事件

Python 单击QTextDocument中的链接时生成自定义事件,python,python-3.x,pyqt,pyqt5,qtextdocument,Python,Python 3.x,Pyqt,Pyqt5,Qtextdocument,当我们单击添加到QTextEdit中的QTextDocument内的链接时,是否有一种方法可以生成自定义事件。我目前可以使用QTextCursor类的insertHtml()函数创建链接,但该链接不可单击 如果您知道如何在单击QTextDocument中的链接时生成自定义事件,请共享。感谢QTextDocument不是一个可视元素,而是存储格式化的信息,因此单击的概念与它无关,而与小部件有关 在本例中,我将使用QTextEdit作为示例,您必须重写mousePressEvent方法并使用anch

当我们单击添加到QTextEdit中的QTextDocument内的链接时,是否有一种方法可以生成自定义事件。我目前可以使用QTextCursor类的insertHtml()函数创建链接,但该链接不可单击


如果您知道如何在单击QTextDocument中的链接时生成自定义事件,请共享。感谢

QTextDocument不是一个可视元素,而是存储格式化的信息,因此单击的概念与它无关,而与小部件有关

在本例中,我将使用QTextEdit作为示例,您必须重写mousePressEvent方法并使用anchorAt方法来了解是否存在锚(url):

导入系统 从PyQt5导入QtCore、QtGui、QtWidgets 类TextEdit(QtWidgets.QTextEdit): 单击=QtCore.pyqtSignal(QtCore.QUrl) def鼠标压力事件(自身、事件): 锚点=自锚点(event.pos()) 如果锚定: self.clicked.emit(QtCore.QUrl(锚定)) super().mousePressEvent(事件) 如果名称=“\uuuuu main\uuuuuuuu”: app=qtwidts.QApplication(sys.argv) w=文本编辑() w、 附加(‘欢迎使用!!!’) 单击时的def(url): QDesktopServices.openUrl(url) w、 单击。连接(单击时) w、 show() sys.exit(app.exec_()) 虽然QTextBrowser已经具有相同的功能:

导入系统 从PyQt5导入QtCore、QtGui、QtWidgets 如果名称=“\uuuuu main\uuuuuuuu”: app=qtwidts.QApplication(sys.argv) w=QtWidgets.QTextBrowser() w、 附加(‘欢迎使用!!!’) 单击时的def(url): QDesktopServices.openUrl(url) w、 锚定单击。连接(单击时) w、 show() sys.exit(app.exec_())
请提供@eyllanesc yes,这正是我想要的。但是谢谢你的回答,这很有帮助