Notice
Recent Posts
Recent Comments
Link
It won't hurt to try
[C++/윈도우프로그래밍응용]27. Qt의 개요 본문
Qt
Qt는 컴퓨터 프로그래밍에서 GUI 프로그램 기발에 널리 쓰이는 크로스 플랫폼 프레임워크이다.
Windows, linux 등의 여러 OS환경을 지원하고 있다.
위젯(Widget)
GUI 프로그래밍을 위해 사용되는 컴퓨터 사용자가 상호 작용하는 인터페이스 요소로 GUI프로그램을 구성되는 사용자에게 보이는 가장 기본적인 요소를 위젯(Widget)이라고 부른다.
X윈도(Window) 시스템
X윈도(Window) 시스템
그래픽 환경을 제공해주는 윈도 시스템
- UNIX/ Linux환경의 포준 윈도우 시스템
- 고성능 과학용 워크스테이션을 위한 통함 위도 시스템을 제공
클라이언트/ 서버 구조의 네트웍 지향적인 시스템
- 응용 프로그램 수준 구성 요소와 하드웨어 수준 구성 요소로 구분
장치 독립성(Platform Independent)
- 투명한 네트워크(Network Transparency)
- 클라이언트에 비의존적 환경
- 다양한 인터페이스의 사용 가능
X윈도(Window) 구조
클라이언트/서버 구조
- X서버 : 클라이언트의 요청 처리
- X클라이언트 : 사용자와의 인터페이스
- Xlib : X프로토콜을 래핑(Wrapping) - c언어로 되어있다.
- X프로토콜 : X클라이언트와 X서버 사이의 각종 처리들 - 로우레벨로 되어있다.
X윈도 매니저
X윈도 매니저
분할 정복법(Divide and Conquer)
- 크고 방대한 문제를 조금씩 조금씩 나눠서 처리
→Unix의 단일 접근 원칙의 모토
: 파이프(|)와 리다이렉션(<<,>>)
X윈도 매니저 : 특수한 형태의 X클라이언트(Client) 프로그램
- 시스템 메뉴들과 X디스플레이의 일반적인 모양(look and feel)
- 윈도(Window)를 관리, 윈도의 모양, 운용 방식 등을 결정
- 윈도 외각의 프레임 배치와 최대화(전화면)과 최소화(아이콘화) 버튼 제공
X-Window 데스크톱 환경
데스크톱 환경 : 데스크톱 관리자라고 부름
- 목적 : 모든 어플리케이션이 반드시 사용해야 하는 단 하나의 툴킷과 행동규약을 제공
- 가이드라인, GUI스타일 가이드(Style Guide)
- 쉬운 사용법과 일관성 제공
- 드래그 앤 드롭과 프로세스 사이의 통보와 같은 기능을 지원
대표적인 데스크톱 환경
- CDE(Common Desktop Environment)
- KDE(K Desktop Environment)
- GNOME(GNU Network Object Model Environment)
리눅스의 데스크톱 환경
최초의 데스크톱 환경은 팰러앨토 연구소의 제록스를 통해 구현
리눅스에서는 GNOME과 KDE가 가장 많이 사용
GNOME | KDE | |
윈도 매니저 | 특정 윈도 매니저에 구애받지 않음 | 하나의 윈도 매니저 제공 |
주 윈도 매니저 | Sawfish를 주로 사용 | Kwm |
툴킷 | GTK+, GNOME-Libs | Qt, KDELibs |
응용 프로그램 | 패널, 파일매니저 및 컨트롤 패널 등 | KDevelop(개발 환경), Calligra Suite(오피스), kpanel(구동 패널), konqueror(파일 매니저), 컨트롤 패널 등 |
GUI 프로그래밍
GUI 프로그래밍
사용자 인터페이스(User interface)
사용자와 컴퓨터 간의 그래피컬 인터페이스
- 사용자의 요청에 따른 피드백(feedback) 전달
GUI 프로그래밍
- 하나의 윈도를 띄우고, 버튼과 라벨 등의 객체를 사용
- X프로토콜을 이용해서 GUI프로그래밍 가능
→ 저수준 이기 때문에 초보자가 접근하기 어려움 - Qt와 같은 위젯 라이브러리를 사용하면 쉽게 만들 수 있음.
300x250
300x250
'C++ > 윈도우프로그래밍응용' 카테고리의 다른 글
[C++/윈도우프로그래밍응용]29. 윈도우의 구성과 레이아웃 매니저 (0) | 2021.11.16 |
---|---|
[C++/윈도우프로그래밍응용]28. Qt의 기본 프로그래밍 (0) | 2021.11.13 |
[C++/윈도우프로그래밍응용]26. STL 알고리즘과 람다식 (0) | 2021.11.06 |
[C++/윈도우프로그래밍응용]24. 표준 템플릿 라이브러리(STL) (0) | 2021.11.02 |
[C++/윈도우프로그래밍응용]23. 템플릿 (0) | 2021.10.30 |
Comments