QLineEdit信号
时间: 2024-03-07 17:11:48 浏览: 87
Qt:QLineEdit
4星 · 用户满意度95%
QLineEdit 是一个常用的单行文本输入框控件,它提供了一些内置的信号,用于在特定情况下触发相应的事件。以下是 QLineEdit 常见的信号:
1. textChanged(const QString &text):当文本框内容发生变化时触发该信号。参数 text 是当前文本框中的文本内容。
2. editingFinished():当文本框完成编辑(即失去焦点)时触发该信号。
3. returnPressed():当用户按下回车键时触发该信号。
4. selectionChanged():当文本框的选中内容发生变化时触发该信号。
5. cursorPositionChanged(int oldPos, int newPos):当文本框的光标位置发生变化时触发该信号。参数 oldPos 是变化前的光标位置,newPos 是变化后的光标位置。
您可以通过连接这些信号与相应的槽函数来实现自定义的功能。例如,当文本发生变化时,您可以根据需要更新其他部分的内容;当用户按下回车键时,您可以执行特定的操作等。
以下是一个示例代码,演示了如何连接 QLineEdit 的信号与槽函数:
```python
from PyQt5.QtWidgets import QApplication, QLineEdit, QWidget, QVBoxLayout
def text_changed(text):
print("文本框内容变化:", text)
def editing_finished():
print("编辑完成")
def return_pressed():
print("回车键按下")
app = QApplication([])
widget = QWidget()
layout = QVBoxLayout(widget)
lineEdit = QLineEdit()
layout.addWidget(lineEdit)
widget.setLayout(layout)
widget.show()
lineEdit.textChanged.connect(text_changed) # 连接textChanged信号与text_changed函数
lineEdit.editingFinished.connect(editing_finished) # 连接editingFinished信号与editing_finished函数
lineEdit.returnPressed.connect(return_pressed) # 连接returnPressed信号与return_pressed函数
app.exec_()
```
在上面的代码中,我们创建了一个 QLineEdit 控件,并将其添加到 QWidget 中。然后,我们通过连接相应的信号与槽函数,实现了当文本内容变化、编辑完成、回车键按下时触发相应的事件。
您可以根据需要连接其他的信号,并编写相应的槽函数来处理特定的事件。
阅读全文