GUI 를 구성하는데 선택이 참 어렵네요 ㅠ

sungeuns의 이미지

저는 임베디드 쪽을 공부한지라 아는것은 C언어 뿐입니다-_-;;

그나마도 전자과라 프로그래밍 실력은 바닥인데요;

대부분의 코딩을 vi에서 하거나 IDE툴을 써도 그냥 텍스트 화면만 나오는 정도만 했네요;;

그래픽 나오는거라고는 리눅스에서 프레임 버퍼와 java awt 뿐...

예전에 뭐 프로젝트때문에 GUI구성할 일이있었는데, 그때는 java awt를 사용했었는데, 자바는 공부를 조금밖에 안하다보니 쓰기가 힘겹더군요;

아무튼 지금 몇주내로 만들 프로젝트가 있는데, GUI구성을 해야 하거든요... 이벤트 액션같은거도 필요해서 프레임 버퍼를 쓰기엔 좀 노가다기도 하고 어려울듯 하고

아는건 C뿐이니 c++기반인 qt를 사용할까 했었는데, 진행하시는분이 qt말고 wxwidget을 쓰라고 하시더군요;

그래서 wxwidget 개발환경을 열심히 구성했는데 라이브러리 빌드가 안되는겁니다-_- 컴퓨터 2대에 계속해서 시도해봣지만 다 실패했습니다-_- 대안으로 사용한 wxDev-C++ 도 계속 컴파일 에러나더군요 ㅠㅠㅠ

블로그같은데 보면 그냥 컴파일하면 다들성공하는거같던데 왜실패하는지 이거땜에 2틀이나 날렸지만 ㅠㅠ

아무튼 그래서말인데 금방 배울 수 있는 GUI좀 추천부탁드립니다~ qt배울 시간은 없을것 같아서 지금그냥 자바 스윙 쓰려고 이클립스에 Jigloo 설치해 놨는데, 자바도 초보수준이어서 참 난감하네요;;

kkb110의 이미지

제가보기에는 이미 선택하셨던 qt나 wxwidget이 최선인거같은데...

qt designer 써보세요. http://doc.trolltech.com/4.3/designer-designing-a-component.html#creating-a-form

c++ gui코드까지 생성해줍니다.

hiseob의 이미지

차라리 왜 빌드가 안되는지 알아보시는게???
빌드 메시지나 그런거를 올려주시면 왜그런지 아시는분도 계시겠죠? :)

lkls의 이미지

좀 이해가 안되는데요. 빌드 실패해서 이틀 정도 날리는 것은 흔한 일인데 이게 보통 빌드 안되고 컴파일 옵션이나 라이브러리가 안맞았다면 게시판 같은데 질문 올려보고 해답 구하는데 이틀 정도 걸리거든요.

그런데 요즘은 리눅스 배포본은 그다지 컴파일 할 일이 없습니다. 우분투만해도 synaptic package manager에서 마우스클릭하고 깔면 끝입니다.

또 gui 툴킷도 그래요. qt든 wxwidget이든 다들 괜찮은 선택이고 문제는 제대로 쓰기만 하면 되는 것 아니겠어요. C를 할 줄 안다면 아마도 C++이나 Java로 GUI 만드는게 첫눈에 안들어올 수도 있어요. 그렇다면 선택의 기준은 오히려 코드가 쉽게 눈에 들어오는 툴킷을 쓰는게 좋지 않을까요?

dalmagi의 이미지

C를 제일 잘하신다면 굳이 C++ 로 된 툴킷을 선택해야 할 이유는 없을 것 같네요.
C로 작성된 툴킷이 나름대로 장점이 상당히 있습니다. 예를들면 어디에나 쉽게 붙을 수 있다는 거.
요즘엔 GUI 툴킷의 종류가 많고 각각 특징들이 있어서 입맛대로 고르는 즐거움이 있는 것 같습니다.
언급하신 툴킷들에 대한 짧막한 특징을 덧붙여 말씀드려보자면,

Qt - 일단 문서화가 잘되어 있고 개발도구가 충분해서 진입하기가 수월합니다. 다만 윈도우에서는 추가적으로 배포되어야 할 dll 들의 용량이 크기 때문에(기본 10M) 작은 프로그램이라면 배보다 배꼽이 커질 우려가 있습니다. 라이센스가 LGPL 이므로 소스를 공개할 게 아니라면 반드시 동적링크 되어야 합니다.

WxWidgets - 정적링크를 허용하기 때문에 상업용 프로그램이라도 적당한 크기의 단일파일(최소 약 1~2M)로 간편하게 배포 가능합니다. 오랜 역사로 라이브러리 자체는 충분히 안정적이나 개발도구는 딱 이렇다하게 정해진 것은 없습니다.

자바의 특징이야 잘 알려졌으니 생략..

지금 보니 별다른 학습 없이 빠르게 개발할 gui 라이브러리를 찾고 계신 것 같은데요, 플랫폼이 뭔지 모르겠지만 그런거라면 차라리 상용툴킷을 사용하기를 추천드립니다.
닷넷(C#) 이나 C++빌더라면 직관적으로 빠르게 개발하실 수 있을 듯.

---
핑크빛 분노

화이팅(fighting) 말고 화이트닝(whitening) 하면 안되나요.

misari의 이미지

http://wxpack.sourceforge.net/에서 컴파일된 바이너리 wxWidgets 라이브러리를 쉽게 설치할 수 있습니다.
http://www.codeblocks.org/에서 wxWidgets GUI 응용프로그램을 개발하기 위한 IDE를 역시 쉽게 설치할 수 있습니다.
----------------
꿈을 버리지 말자!

꿈을 버리지 말자!

sungeuns의 이미지

답변감사드립니다~

근데 빌드 에러는 여기에도 그렇고 Q&A같은데 올려봤는데요, 정확히 답해주시는 분이 없더라구요

아무튼 wxpack 을 사용해서 일단 해볼 예정입니다.

근데 순수 C언어 기반의 그래픽 라이브러리 같은게 있나요?? 프레임 버퍼같은거 제외하구요~

C++ 기반 외에는 없는 줄 알았는데..

kkb110의 이미지

gtk 정도? 갠적으로는 그냥 그저 그렇습니다만.

sunnyncom의 이미지

다른 쪽은 모르겠고... Qt는 사용하고 있습니다...

무엇보다도 사용하려는 칩에서 제공하는 GUI 솔루션이 있다면 그걸 쓰는게 최상이겠지만, 범용 GUI 프레임웍이나 라이브러리로 Support하는 곳은
아직 보지 못한거 같습니다...

Qt... 사용해 본 바로 덩치가 크고 무거운 것만은 확실한 거 같습니다... 그만큼... 편리하긴 합니다...
앞으로 하드웨어가 발전하는 속도로 보면 덩치가 크고 무거워도 사용할만한 가치는 있는거 같습니다...

이전까지는 C로만 하다가 Qt를 사용하면서 C++로 코딩을 하는데... 처음에 MFC를 먼저 시작한 저로서는 아주 편하네요...

sungeuns의 이미지

빌드성공은 못했지만, mingw, wxpack, codeblock 모두 최신버전으로 해서 성공했네요~ ㅎㅎ

아직 C++이 익숙친 않지만 한번 해봐야겠네요~ 아무튼 답변주신분들께 감사드려요~

h2h1995의 이미지

wxWidgets로 GUI를 많이 만들어 보았습니다.

제가 진행중인 MyGDB 프로젝트가 wxWidgets, MinGW로 제작이 되어 지고있습니다.

혹시 필요하시면 레퍼선스 용도로 코드를 보시는것도 좋을것입니다.

http://lab.tcltk.co.kr/mygdb.php

----------------
http://tcltk.co.kr

----------------
http://tcltk.co.kr