pyside QTextEdit选定文本事件



我有一个qtexttedit小部件布局在左侧和QTextBrowser在右侧,我正在寻找一种方法来做以下事情:

  1. 用户选择某个文本
  2. 一个函数被这个事件触发
  3. 所选文本被处理
  4. 处理后的文本显示在右侧

我用谷歌搜索了一下,但没有看到相关的结果。

您可以使用selectionChanged信号来触发该函数,然后通过textCursor检索选中的文本。处理后的文本可以通过使用set明文显示,如果您想使用标记,也可以使用sethhtml显示。但请注意,QTextBrowser只支持html/css的有限子集。

下面是一个演示脚本,演示如何将它们组合在一起:

from PySide import QtCore, QtGui
class Window(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        self.edit = QtGui.QTextEdit(self)
        self.edit.selectionChanged.connect(self.handleSelectionChanged)
        self.browser = QtGui.QTextBrowser(self)
        layout = QtGui.QHBoxLayout(self)
        layout.addWidget(self.edit)
        layout.addWidget(self.browser)
    def handleSelectionChanged(self):
        text = self.edit.textCursor().selectedText()
        # process text here...
        self.browser.setPlainText(text)
if __name__ == '__main__':
    import sys
    app = QtGui.QApplication(sys.argv)
    window = Window()
    window.setGeometry(500, 300, 600, 300)
    window.show()
    sys.exit(app.exec_())

相关内容

  • 没有找到相关文章

最新更新