📜  qTextEdit 获取文本 - Python (1)

📅  最后修改于: 2023-12-03 15:34:34.490000             🧑  作者: Mango

从 QPlainTextEdit 中获取文本 - Python

如果你正在使用 PyQt5 编写一个图形界面应用程序,你可能需要获取用户在 QPlainTextEdit 中输入的文本。在本文我们将讨论如何使用 PyQt5 的 QPlainTextEdit 组件来获取文本。

在获取文本之前,首先需要创建一个包含 QPlainTextEdit 组件的窗口。以下是一个示例窗口代码:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPlainTextEdit

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(100, 100, 800, 600)
        self.setWindowTitle('获取 QPlainTextEdit 中的文本')
        self.textEdit = QPlainTextEdit(self)
        self.textEdit.setGeometry(10, 10, 780, 580)
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = MyWindow()
    sys.exit(app.exec_())

该窗口包含一个 QPlainTextEdit 组件,该组件用于获取用户输入的文本。通过调用 textEdit.toPlainText() 方法可以获取 QPlainTextEdit 中的文本。这个方法返回一个字符串类型的文本。

以下是一个简单的示例代码,演示了如何获取 QPlainTextEdit 中的文本并将其打印到控制台。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPlainTextEdit

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(100, 100, 800, 600)
        self.setWindowTitle('获取 QPlainTextEdit 中的文本')
        self.textEdit = QPlainTextEdit(self)
        self.textEdit.setGeometry(10, 10, 780, 580)
        self.show()

        self.textEdit.textChanged.connect(self.onTextChanged)

    def onTextChanged(self):
        print(self.textEdit.toPlainText())

if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = MyWindow()
    sys.exit(app.exec_())

在上面的示例代码中,我们为 QPlainTextEdit 组件的 textChanged 信号连接了一个槽函数 onTextChanged。每当用户在 QPlainTextEdit 组件中输入文本时,都会触发该槽函数。在 onTextChanged 函数中,我们调用了 toPlainText 方法来获取 QPlainTextEdit 中的文本,并将其打印到控制台。

除了 toPlainText 方法之外,QPlainTextEdit 还提供了其他一些有用的方法来获取文本。例如,toHtml 方法可以将 QPlainTextEdit 中的文本转换为 HTML 格式。你可以使用这个方法将文本保存到 HTML 文件中,或者在应用程序中显示格式化的文本。

总之,如果你需要获取 PyQt5 的 QPlainTextEdit 组件中的文本,可以使用 toPlainText 方法来轻松地获取它。