📜  pyqt5 qlineedit on change - Python (1)

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

PyQt5 QLineEdit On Change

在 PyQt5 中,QLineEdit 是一个常用的控件,用于输入文本。当用户在该控件中输入或者修改内容时,我们可以响应这个事件,以便执行其他操作。本文将会介绍 PyQt5 QLineEdit 的用法和如何在该控件上添加 On Change 事件。

QLineEdit 的基本用法

在创建一个 QLineEdit 时,必须指定一个父控件。通常情况下,我们会使用 QWidget 作为其父控件。

from PyQt5 import QtWidgets

app = QtWidgets.QApplication([])
window = QtWidgets.QWidget()
edit = QtWidgets.QLineEdit(window)

可以使用 setText() 方法来设置 QLineEdit 的初始文本。

edit.setText("Hello, PyQt5")

使用 text() 方法可以获取 QLineEdit 中的文本内容。

text = edit.text()
QLineEdit On Change

当用户在 QLineEdit 中输入或者修改文本内容时,我们可以响应该事件,以便执行其他操作,比如实时搜索,实时计算等等。可以使用 textChanged() 信号来实现该功能。

def on_edit_text_changed(text):
    print(text)

edit.textChanged.connect(on_edit_text_changed)

textChanged() 信号会将当前 QLineEdit 中的文本传递给事件处理器。

完整代码示例
from PyQt5 import QtWidgets

class MainWindow(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        
        self.init_ui()
        
    def init_ui(self):
        self.setWindowTitle("PyQt5 QLineEdit On Change")
        self.setGeometry(100, 100, 300, 100)
        
        edit = QtWidgets.QLineEdit(self)
        edit.setText("Hello, PyQt5")
        edit.textChanged.connect(self.on_edit_text_changed)
        
        self.show()
        
    def on_edit_text_changed(self, text):
        print(text)
        
app = QtWidgets.QApplication([])
main_window = MainWindow()
app.exec_()

运行该代码,可以看到一个包含一个 QLineEdit 控件的窗口。当用户在该控件中输入或者修改文本时,程序将会在控制台输出该文本内容。

总结

本文介绍了 PyQt5 QLineEdit 控件的基本用法和如何在该控件上添加 On Change 事件。QLineEdit 是一个常用的控件,用于输入文本,掌握其基本用法是非常重要的。