GUI: Graphic User Interface
사용자가 프로그램을 사용할 때 필요한 규격을 그래픽으로 제공하는 것
- 지금까지 구현한 프로그래밍 명령의 순서에 따라 흐름 진행
- 이벤트기반 프로그래밍
:어떤 이벤트가 발생하냐에 따라 흐름이 진행되는 프로그램
이벤트(event)
- 마우스클릭
- 마우스 드래그
- 버튼 클릭
- 키보드 입력
—————————————————————
[toolkit]
파이썬에서 GUI프로그램을 개발하기 위해 제공되는 라이브러리
-TKinter
- PyQt5
————————————————————-
<윈도우설치>
pip:파이썬 설칙시 같이 설치
PyQt5 라이브러리가 규모가 큰 라이브러리
모든 기능을 다 사용할 수 없다.
*구성
1)화면에 출력된 사용자 인터페이스:UI
PyQt5가 제공하는 구성용품: 위젯
widget 클래스의 객체를 생성해서 UI를 만들 수 있다
위젯: UI(화면)을 구성하는 핵심 요소
2) 이벤트 루프
PyQt에서 QAppliction 클래스로 만들어진 객체에 exec_()메서드를
호출하면 이벤트 루프가 생성된다.
이벤트루프: 이벤트 발생 기다리는 대기상태
- 개발자는 exec_메서드를 호출하여 이벤트 루프 생성하는 것까지만 하면된다
이벤트 루프에는 관여 x
exec_() ~닫기버튼 누를때까지 작동
3) 이벤트를 처리할 메서드 구현
버튼과 같은 위젯을 클릭하면
어떠한 처리를 할 것인가를 메서드로 구현하기
PyQt5 라이브러리가 규모가 큰 라이브러리
모든 기능을 다 사용할 수 없다.
*구성
1)화면에 출력된 사용자 인터페이스:UI
PyQt5가 제공하는 구성용품: 위젯
widget 클래스의 객체를 생성해서 UI를 만들 수 있다
위젯: UI(화면)을 구성하는 핵심 요소
2) 이벤트 루프
PyQt에서 QAppliction 클래스로 만들어진 객체에 exec_()메서드를
호출하면 이벤트 루프가 생성된다.
이벤트루프: 이벤트 발생 기다리는 대기상태
- 개발자는 exec_메서드를 호출하여 이벤트 루프 생성하는 것까지만 하면된다
이벤트 루프에는 관여 x
exec_() ~닫기버튼 누를때까지 작동
3) 이벤트를 처리할 메서드 구현
버튼과 같은 위젯을 클릭하면
어떠한 처리를 할 것인가를 메서드로 구현하기
————————————————————————-
1. QApplication 생성자에 현재모듈 넘기기
app= QApplication(sys.argv)
>>>import sys
>>>sys.argv
————————————————————————-
이벤트를 처리하고 싶다?
1) 버튼생성
2) 메서드를 구현
3) 버튼에 이벤트 만들기
버튼.clicked.connect(메서드명)
————————————————————————-
GUI프로그램
1) QApplication 객체 생성
2) 위젯 생성
위젯.show():화면에 위젯이 보여짐
3)이벤트 처리
4)app.exec_():이벤트 루프 생성
————————————————————————-
[위젯의 종류]
QMessageBox: 알림창
- QLabel
- QPushButton
:버튼
- QlineEdit
:텍스트 입력창
- QRadioButton
:동그라미 선택체크버튼, 중복x
ex)남,녀
- QGroupBox
:제목이 있는 테두리를 만들 시 사용
- QCheckBox
:네모 선택체크버튼, 중복o
ex)취미, 가입경로
- QSpinBox
:증가/감소 시킬 때 사용하는
화살표와 값을 출력하는 출력창으로 구성
- QTableWidget
:행과 열로 구성된 표 형태의 데이터를 테이블 형태로 표시
프로그래밍/Python
[GUI]
반응형
반응형