이벤트를 통한 객체 제어 > Pyside2 - GUI for Python

본문 바로가기
사이트 내 전체검색

회원로그인

올서베이넷
무료 온라인 설문 사이트
OVITII
웹 프레젠테이션 도구

Pyside2 - GUI for Python

이벤트를 통한 객체 제어

페이지정보

글쓴이 관리자 조회 19,890 조회 날짜 19-05-28 20:23 / Update:19-05-28 21:41
댓글 0 댓글

SNS 공유

  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

내용

이벤트를 통한 객체 제어

 

 

GUI(Graphic User Interface) 프로그램이란 사용자가 프로그램과의 통신을 위해서 명령어를 text로 입력하는 것이 아니라 마우스나 키보드를 통해서 프로그램과 소통을 하도록 만든 프로그램을 말한다.

 

즉, 현재 사용하는 대다수의 프로그램들이 GUI 프로그램이다.

 

이러한 프로그램을 만들기 위해서는 개발자는 버튼, textedit, 체크박스등과 같이 위젯(widget)을 만들어서 윈도우 폼에 배치를 해야한다.

 

이러한 모든 위젯들은 class로 정의되어 있으며, 우리는 이 클래스를 호출함으로써 GUI 객체들을 만들어 낸다.

 

다시 말하면 비주얼한 버튼, textedit, 체크박스 등 모든 것이 하나의 객체(Object)라 할 수 있다.

 

 

프로그램을 통해 만들어진 객체들은 혼자서 동작하지 않는다.

 

근사하게 만들어진 AI(인공지능) 프로그램이 아닌 이상, 컴퓨터 또는 프로그램은 스스로 움직이지 못한다.

 

모든 프로그램은 프로그래밍 되어있는 조건과 순서에 따라 사용자의 명령을 받아서 수행을 할 뿐이다. 

 

GUI 프로그램에서 사용자는 마우스나 키보드로 프로그램을 조작할 수 있다.

 

그 조작이 곧 프로그램에 입력하는 명령이 되고, 그 명령은 마우스클릭, 드래그 등 모든 활동들이 포함된다.

 

요약하면, 프로그램은 사용자가 버튼을 마우스로 클릭하는 등의 동작을 해야 작동한다는 의미다.

 

이렇게 사용자가 발생시키는 마우스 클릭과 같은 동작을 이벤트(Event)라고 한다.

 

프로그램은 사용자의 명령을 이벤트를 통해서 받아들인다.

 

마우스를 클릭하는 행동은 마우스 클릭 이벤트,

마우스를 드래그 하는 행동은 마우스 드래그 이벤트,

키보드의 키를 누르는 행동은 키 프레스 이벤트,

키보드의 키를 눌렀다 떼는 행동은 키 릴리즈 이벤트....

 

이와 같이 사용자가 하는 모든 행동은 이벤트이고, 프로그램은 이러한 이벤트를 기다렸다가 이벤트가 발생하면 프로그램된 순서대로 동작을 하게 된다.

 

pyside2에는 매우 다양한 GUI 객체들을 제공한다. 이를 위젯(Widget)이라고 한다.

 

3109821002_1559096060.4571.png

 

위젯들은 각자 자기의 역할이 있다.

 

말 그대로 버튼 위젯은 눌리는 역할을 하고, Line Edit 위젯은 글자를 입력받는 역할을 한다.

 

따라서, 각 위젯이 가지는 이벤트는 그 위젯의 기능을 보면 대략 예상할 수 있다.

 

눌리는 역할을 하는 버튼마우스 클릭 이벤트(clicked)와 연결 할 수 있다.

 

텍스트를 입력하고 수정할 수 있는 Line EditLabel 같은 객체는 text의 변경 이벤트(textchanged)와 연결 할 수 있다.

 

 

다음 글에서 자주 사용하는 객체등의 기능과 이벤트의 연결에 대해서 알아본다.

 

 

 

Pyside2 - Qt for Python  홈페이지

 

https://doc.qt.io/qtforpython/index.html

 

https://doc.qt.io/qtforpython/PySide2/QtWidgets/index.html

댓글목록 sfs

총 12 건 , 1 페이지
게시물 검색
Pyside2 - GUI for Python 목록
번호 제목 글쓴이 조회 날짜
1 관리자 29702 05-02
2 관리자 24814 05-02
3 관리자 28471 05-03
열람중 관리자 19891 05-28
5 관리자 23050 05-28
6 관리자 39796 06-11
7 관리자 40149 06-13
8 관리자 32452 12-04
9 관리자 31047 12-04
10 관리자 24450 12-13
11 관리자 16724 12-13
12 관리자 18444 12-13
GNUBOARD_M
Copyright © JBMPA.com All rights reserved.