개요
QLineEdit
위젯에서 숫자만 입력받고, 입력 가능 길이를 제한하는 방법에 대해 기록해보려고 한다.
코드 구현
- 1. 숫자만 입력하도록 설정:
QIntValidator
또는QDoubleValidator
사용 - 2. 입력 길이 제한:
setMaxLength()
메소드 사용
from PySide6.QtWidgets import QApplication, QLineEdit, QVBoxLayout, QWidget
from PySide6.QtGui import QIntValidator
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
# QLineEdit 생성
self.line_edit = QLineEdit(self)
# 숫자만 입력받도록 QIntValidator 설정
int_validator = QIntValidator(0, 9999, self) # 0부터 9999까지 숫자만 허용
self.line_edit.setValidator(int_validator)
# 입력 가능한 길이를 제한
self.line_edit.setMaxLength(5) # 최대 5자리 입력 가능
# 레이아웃 설정
layout = QVBoxLayout()
layout.addWidget(self.line_edit)
self.setLayout(layout)
self.setWindowTitle("숫자만 입력받기")
self.resize(300, 100)
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec()