QLineEdit
에서 글을 쓰고 엔터 키를 누르면 특정 동작을 수행하도록 하기 위해 returnPressed
시그널을 사용할 수 있습니다. 이 시그널은 QLineEdit
에서 엔터 키를 눌렀을 때 발생합니다.
예제 코드
아래는 QLineEdit
에서 엔터 키를 눌렀을 때 특정 동작을 수행하는 간단한 예제입니다.
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLineEdit, QVBoxLayout, QWidget, QLabel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("QLineEdit Enter Key Example")
self.setGeometry(100, 100, 400, 200)
# Create a QLineEdit
self.line_edit = QLineEdit(self)
self.line_edit.setPlaceholderText("Type something and press Enter")
# Connect the returnPressed signal to the slot method
self.line_edit.returnPressed.connect(self.on_return_pressed)
# Create a label to display the entered text
self.label = QLabel("Entered text will be displayed here", self)
# Set up the main layout
layout = QVBoxLayout()
layout.addWidget(self.line_edit)
layout.addWidget(self.label)
container = QWidget()
container.setLayout(layout)
self.setCentralWidget(container)
def on_return_pressed(self):
# Get the text from the QLineEdit
text = self.line_edit.text()
# Display the text in the QLabel
self.label.setText(f"Entered: {text}")
# Clear the QLineEdit
self.line_edit.clear()
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
설명
- QLineEdit 생성
self.line_edit = QLineEdit(self)
:QLineEdit
인스턴스를 생성합니다.self.line_edit.setPlaceholderText("Type something and press Enter")
:QLineEdit
에 플레이스홀더 텍스트를 설정합니다.
returnPressed
시그널 연결
self.line_edit.returnPressed.connect(self.on_return_pressed)
:returnPressed
시그널을on_return_pressed
슬롯 메서드에 연결합니다. 이는 엔터 키를 눌렀을 때 호출될 메서드입니다.
- on_return_pressed 메서드 :
text = self.line_edit.text()
:QLineEdit
에서 입력된 텍스트를 가져옵니다.self.label.setText(f"Entered: {text}")
: 가져온 텍스트를QLabel
에 표시합니다.self.line_edit.clear()
:QLineEdit
의 텍스트를 지웁니다.
이 코드를 사용하면 사용자가 QLineEdit
에 텍스트를 입력하고 엔터 키를 누르면 해당 텍스트가 라벨에 표시되며, QLineEdit
이 비워집니다. 이와 같은 방식으로 QLineEdit
에서 엔터 키를 눌렀을 때 특정 동작을 수행할 수 있습니다.