QlineEdit editingFinished
时间: 2023-12-10 21:42:53 浏览: 70
QLineEdit 的 editingFinished 信号在 QLineEdit 编辑完成后发出,通常在用户按下回车键或焦点转移到其他窗口部件时触发。可以连接这个信号来执行一些操作,比如验证输入或更新相关数据。例如,以下代码创建一个 QLineEdit,当用户编辑完成后,会将输入的文本输出到控制台上:
```python
from PyQt5.QtWidgets import QApplication, QLineEdit, QWidget
def on_editing_finished():
print(line_edit.text())
app = QApplication([])
window = QWidget()
line_edit = QLineEdit()
line_edit.editingFinished.connect(on_editing_finished)
window.setCentralWidget(line_edit)
window.show()
app.exec_()
```
相关问题
qt文档里void QLineEdit::editingFinished()
QLineEdit::editingFinished() 是一个信号(signal),当 QLineEdit 编辑结束时会被触发。在用户完成对 QLineEdit 的编辑后,该信号会被发出,可以通过连接该信号的槽(slot)函数来执行一些操作,比如更新数据或保存文件等。
例如,下面的代码演示了如何连接 QLineEdit 的 editingFinished() 信号和自定义的槽函数,当用户编辑结束后,槽函数会将文本框中的内容显示在控制台上:
```cpp
QLineEdit *lineEdit = new QLineEdit();
connect(lineEdit, &QLineEdit::editingFinished, this, &MyClass::onLineEditEditingFinished);
// ...
void MyClass::onLineEditEditingFinished()
{
QString text = lineEdit->text();
qDebug() << "LineEdit text: " << text;
}
```
当用户编辑结束时,onLineEditEditingFinished() 函数会被调用,并输出文本框中的内容。
QLineEdit信号
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 中。然后,我们通过连接相应的信号与槽函数,实现了当文本内容变化、编辑完成、回车键按下时触发相应的事件。
您可以根据需要连接其他的信号,并编写相应的槽函数来处理特定的事件。