QLineEdit

QLineEdit 는 한줄로 된 텍스트 입력 칸 입니다.

한줄이지만 기본값에 32767개의 문자를 받을 수 있습니다.

(16비트 배열 인듯)

 

setMaxLength 메소드로 입력 문자수의

제한을 걸어둘 수 있습니다.

 

사용자에게 입력을 받는 다는 것은

사용자가 키보드에 문자를 입력하면

문자열이 저장된다는 뜻인데요.

 

 Enter 키나 QPushButton 을 클릭하는

시그날을 슬롯 함수와 연결시키면 됩니다.

 

아래 예제는 사용자에게 이름을 입력받고

레이블에 표시하는 코드입니다.

 

 

콘솔로 표시해도 되는데

굳이 레이블을 사용한 것은

유저들에게 콘솔창을 보여줄 것은 아니니까

윈도우창에 그냥 보여주도록 했습니다.

 

lineEdit 위젯의 쓸모는 여러가지인데

구글 웹스크레이퍼를 만들때

검색어를 입력받는 용도로 사용하는 등

다양하게 사용할 수 있습니다.

 

from PyQt5.QtWidgets import (
    QWidget, QApplication, QGridLayout,
    QPushButton, QLabel, QLineEdit
)
# from PyQt5.QtCore import Qt

import sys

class MyApp(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        self.setWindowTitle("My App")

        # QVBox Layout
        layout = QGridLayout()
        self.setLayout(layout)

        self.label = QLabel("Name")
        layout.addWidget(self.label, 0, 0)

        self.labelO = QLabel()
        layout.addWidget(self.labelO, 1, 1)

        self.button = QPushButton("Send")
        self.button.clicked.connect(self.returnPressed)
        layout.addWidget(self.button, 1, 0)

        self.lineEdit =QLineEdit()
        self.lineEdit.setPlaceholderText("enter your name")
        self.lineEdit.setMaxLength(10)
        self.lineEdit.returnPressed.connect(self.returnPressed)
        layout.addWidget(self.lineEdit, 0, 1)

    def returnPressed(self):
        text = self.lineEdit.text()
        print(text)
        self.labelO.setText(text)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    screen = MyApp()
    screen.resize(320, 200)
    screen.show()

    sys.exit(app.exec_())

QLineEdit PyQt5
QLineEdit PyQt5

코드를 보면 매우 심플한 것을 알 수 있습니다.

 

또 여기서는 그리드레이아웃을 사용했는데

좌표를 사용해서 여러개 위젯을 배치할 때

QBoxLayout 쪽 보다 쉬운 것 같습니다.

 

PyQt5 에서 레이블, 버튼, 라인에디트 정도만

사용해도 이미 문자열 입력과 출력까지

해결이 된 것입니다.

 

이 정도만으로도 여러가지 앱을 만들 수 있겠죠?

 

GUI 위젯만 계속 배우는 것도 지루하니까

웹스크레이핑과 함께 사용해보면서

작은 프로젝트라도 실습해보는 것을 추천합니다.

 

PyQt의 클래스와 메소드는 수천개가 넘습니다.

어차피 그 기능들 다 사용할 것도 아니고

외우지도 못하기 때문에 필요할 때 레퍼런스를 뒤지면서 해야합니다.

 

작더라도 자신이 만들려는 프로젝트를 기획하고

하나라도 만들어 보는 것을 추천합니다.

 

아래는 간단한 GUI 프로그램입니다.

kivy도 PyQt와 같은 GUI입니다.

 

파이큐티5 (PyQt5) 7 | 버튼그룹으로 GUI 가위바위보 게임 만들기 | ButtonGroup

 

파이큐티5 (PyQt5) 7 | 버튼그룹으로 GUI 가위바위보 게임 만들기 | ButtonGroup

버튼 위젯은 하나씩 활용해도 좋지만 여러개 묶어서 사용한다면 유용할 것이다. 라디오 버튼도 묶어서 사용하는 것인데 그것과 비교가 되니까 이 버튼은 QPushButton 이라 해놨다. 말 그대로 누르

digiconfactory.tistory.com

파이썬 KIVY | 간단한 시계 만들기 | 파이썬 GUI 프레임워크

 

파이썬 KIVY | 간단한 시계 만들기 | 파이썬 GUI 프레임워크

파이썬 키비(Kivy)는 파이썬의 크로스 플랫폼 GUI 프레임워크다. 파이썬의 GUI 중에서도 터치패드를 지원하여 모바일 앱을 만들 수 있다는 것과 kv 언어(자체 HTML 같은 것)를 사용한다는 것이 특징적

digiconfactory.tistory.com

파이썬 tkinter GUI 계산기 만들기 | 파이썬 윈도우 프로그래밍

 

파이썬 tkinter GUI 계산기 만들기 | 파이썬 윈도우 프로그래밍

파이썬 tkinter GUI 계산기 파이썬으로 계산기를 만드는 방법은 수십가지가 넘을 것이다. 사실 파이썬 자체가 계산기이다. 컴퓨터의 Computing 의 원뜻은 계산하다는 뜻이다. 무슨 프로그램을 만들어

digiconfactory.tistory.com

아래 문서는 웹스크래이핑 기초입니다.

 

파이썬 | 웹스크레이핑 기초 | BeautifulSoup 모듈 사용법

 

파이썬 | 웹스크레이핑 기초 | BeautifulSoup 모듈 사용법

이번 포스팅도 간단한 내용이다. BeautifulSoup4 모듈을 다운로드 받아서 간단한 웹스크래이핑을 해본다. 설치는 명령 프롬프트에서 pip install bs4를 입력한다. 인스톨 되었다면 위와 같은 내용이 출

digiconfactory.tistory.com

파이썬 | 빌보드 차트 TOP 100 스크레이핑 | 10월 3일차 BTS 1위 주간 | 글로벌 200 차트 KPOP이 싹쓸이 | bs4 

 

파이썬 | 빌보드 차트 TOP 100 스크레이핑 | 10월 3일차 BTS 1위 주간 | 글로벌 200 차트 KPOP이 싹쓸이 |

방탄소년단이 연일 KPOP의 역사를 갱신하고 있다. 그래서 기념으로 bs4 모듈로 빌보드 차트 스크레이핑을 해본다. 스크레이핑하기 위한 도구는 파이썬과 billboard 웹사이트이다. 빌보드 1위는 미국

digiconfactory.tistory.com

 

공유하기

facebook twitter kakaoTalk kakaostory naver band