반응형

QT 39

[ Qt 프로그래밍 ] Win32 프레임없이 리사이즈하기

안녕하세요!제가 며칠전에 Win32를 이용하여 상하좌우에 있는 윈도우 프레임이 안보이면서 리사이즈가 가능한 예제를 보여드렸습니다.이번에는 Win32 API를 사용하지 않고 직접 구현해보았습니다.약간 불안정하지만 기본적으로 리사이즈하는 방식은 동일하게 작동합니다.이번 예제에서는 이전에 올려두었던 내부 위젯으로 창을 이동하는 기능까지 포함시켰습니다. 실행파일과 프로젝트파일은 첨부파일로 올려두었습니다.필요하신분은 가져다 쓰셔도 됩니다.

컴퓨터 공학/Qt 2015.11.27

[ Qt 프로그래밍 ] Qt 5.4 MinGW버전에서 비디오 플레이어 예제 실행하기

안녕하세요!Qt 5.4에서 비디오와 관련된 예제들이 많이 존재하는데, MinGW에서 해당 예제들을 빌드 후 실행하니 실행은 되는데, 비디오가 실행이 안되는 것을 찾았습니다.이래저래 찾아보다가 방법을 알아냈습니다.MinGW에서는 비디오 관련하여 내부적으로 DirectShow를 사용하고 있습니다.DirectShow는 "다이렉트쇼(DirectShow, 줄여서 DS, DShow, 코드이름: Quartz)는 소프트웨어 개발자들이 미디어 파일이나 스트림을 가지고 다양한 기능을 수행할 수 있도록 마이크로소프트사가 개발한 멀티미디어 프레임워크이자 API이다." 라고 위키피디아에 쓰여있습니다.즉, 윈도우즈 환경에서 비디오를 실행할 수 있는 하나의 수단이라고 보면됩니다.이것이 Qt5.4의 비디오 예제에서 사용되었는데, 버..

컴퓨터 공학/Qt 2015.11.27

[ Qt 프로그래밍 ] Qt5.4에서 QFtp 사용하기

안녕하세요!이번에는 Qt에서 FTP를 사용하는 방법에 대해 알아보겠습니다.FTP란? "인터넷상에서 컴퓨터 사이의 파일을 전달하는 데 사용되는 프로토콜" 을 의미합니다. ftp://ftp.qt.nokia.com/ 간단하게 위의 사이트에서 파일을 내려받는 것을 FTP라고 할 수 있습니다.Qt4버전에서는 QFtp라는 클래스가 존재하여 ftp를 손쉽게 사용할 수 있었는데, Qt5버전에 들어오면서 QFtp클래스가 사라졌습니다.이유는 잘 모르겠지만 이로인해 많은 Qt프로그래머들이 불편함을 겪었습니다. 그래서 Qt개발자들이 QtFtp클래스를 gitorious에 배포를 하였습니다.덕분에 Qt5에서도 Ftp를 사용할 수 있게되었습니다. 이제 QtFtp를 설치하고 사용해보도록 하겠습니다. https://qt.gitorio..

컴퓨터 공학/Qt 2015.11.27

[ Qt 프로그래밍 ] 프레임없는 윈도우 창에서 리사이징 구현한 예제

안녕하세요!PC에서 자주 사용되는 많은 프로그램들 중 적잖은 수의 프로그램들이 윈도우 기본 프레임을 사용하지 않는 경우가 있습니다.예를 들면 다음팟플레이어, 알송과 같은 미디어플레이어, 스팀,오리진과 같은 게임 플랫폼 등등이 있습니다.프레임이 없음에도 이들 프로그램의 모서리에 마우스를 갖다 대면 사이즈를 조절할 수 있는 기능이 제공됩니다. Qt에서 이러한 기능을 제공하면 좋겠지만 아직 제공하고 있지 않습니다.따라서 Win32 API를 사용하여 윈도우 프레임과 관련된 기능에 직접 접근해야 하는데, 이와 관련된 예제를 찾았습니다. https://github.com/deimos1877/BorderlessWindow 위 링크로 접속한 사이트에서 오른쪽 하단에 Download 버튼이 있습니다.이 버튼을 누르면 프..

컴퓨터 공학/Qt 2015.11.27

[ Qt 프로그래밍 ] QML로 만든 게임 예제

안녕하세요!구글 플레이스토어에 "Cute Plane"이라고 검색하면Oleg Yadrov가 만든 2D 게임이 있습니다.이 게임은 순수 QML로 제작한 게임으로, 무료로 플레이가 가능합니다.이 게임 개발자가, 소스코드를 무료로 배포하고 사용하는 것을 허락했습니다.물론 상업적 배포는 안되지만, 공부용으로 사용하기엔 적합합니다. Qt5.4 버전이 설치되어 있다고 가정합니다. 이 예제를 실행하기 위해서는 Box2D가 설치되어 있어야 합니다.http://blog.naver.com/remocon33/220225746688 위 링크에서 설치를 하시면 됩니다.설치를 했으면, https://bitbucket.org/wearyinside/cute-plane/downloads 위 링크로 접속합니다. 그러면 중앙에 Downlo..

컴퓨터 공학/Qt 2015.11.27

[ Qt 프로그래밍 ] QML에 Box2D 사용하기

안녕하세요!2D게임에서 자주 사용되는 Box2D라이브러리가 있습니다.이 라이브러리는 2D게임에서 물리엔진을 지원합니다.대표적으로 앵그리버드에서도 이 Box2D를 사용했습니다.이 Box2D를 QML에서 사용해보도록 하겠습니다. 준비물: Qt 5.4(다른 버전에서는 확실하지 않음) https://gitorious.org/qml-box2d/qml-box2d-folibis/source/71af1a2d2147c2de3816190b20cc72014da0baf3: 위 링크로 접속합니다. 오른쪽에 Download 버튼을 클릭하여 다운로드를 진행합니다.* 첨부파일에도 올려두었으니 해당 파일을 다운받아도 됩니다.* 임의의 위치에 압축을 풉니다.Qt Creator를 실행하고, 압축을 푼 폴더에 있는 box2d.pro파일을 ..

컴퓨터 공학/Qt 2015.11.27

[ Qt 프로그래밍 ] Windows OS에서 투명창을 내부까지 확장하기

Qt5.2에서 소개된 QtWin이라는 네임스페이스가 있습니다.이 네임스페이스를 이용하여 윈도우에서 사용하는 DWM을 조금은 건드릴 수 있게되었습니다.DWM이란? "데스크톱 창 관리자(영어: Desktop Window Manager, DWM)는 윈도 비스타, 윈도 7, 윈도 8에 도입된 컴포지트 창 관리자이다. 이전에는 데스크톱 컴포지트 엔진(영어: Desktop Compositing Engine, DCE)이라고 불렸다. DWM은 다이렉트엑스 9.0 및 셰이더 모델 2.0을 지원하는 그래픽 카드를 요구한다.원래는 투명도와 3차원 창 전환과 같은 윈도 에어로 사용자 경험을 사용할 수 있게 할 목적으로 만들어졌다." http://ko.wikipedia.org/wiki/%EB%8D%B0%EC%8A%A4%ED%8..

컴퓨터 공학/Qt 2015.11.27

[ Qt 프로그래밍 ] Qt5.4 버전을 설치할 경우 발생하는 문제점

Qt5.4를 설치하고 Qt Creator를 실행하면 Welcome 대화창에서 OpenGL관련 오류가 나타날 수 있습니다.이는 그래픽카드 드라이버가 최신버전이 아니기 때문에 발생하는 문제입니다.따라서 자신의 컴퓨터에 맞는 그래픽카드 드라이버를 최신버전으로 설치하면 문제가 해결됩니다. http://www.3dp.co.kr/ 여기서 3DP Chip 프로그램을 사용하면 자동으로 자신의 컴퓨터에 장착된 그래픽카드의 종류를 알 수 있습니다.이상입니다.

컴퓨터 공학/Qt 2015.11.27

[ Qt 프로그래밍 ] 강아지 키우기 프로그램

안녕하세요! 제가 이번에 강아지 키우기 프로그램을 만들어보았습니다.이 강아지는 프로그램을 처음 실행하면 랜덤한 값들을 갖는데,크기, 소변량, 행복지수,피곤지수, 위치 값들이 랜덤하게 설정됩니다. 그리고 이 강아지는 1분에 한번씩 자리를 좌우로 이동하거나 화면 앞 또는 뒤로 움직입니다.강아지의 소변량은 0~100까지 인데, 소변량이 90이상이면 소변을 봅니다.그러면 30이하로 감소합니다. 행복지수도 0~100까지인데, 행복지수가 40보다 낮으면 강아지는 움직이지 않습니다.행복지수와 피곤지수는 1분 마다 2씩 감소합니다.수면 중일때는 1분마다 4씩 증가합니다.수면은 밤 11시부터 아침 6시까지, 오후 1시부터 1시 반까지 취합니다. 마우스를 강아지에게 가져갔을때 강아지의 행복지수가 높으면 일어서서 좋아하고,..

컴퓨터 공학/Qt 2015.11.27

[ Qt 프로그래밍 ] 초간단 컬링게임 만들기

안녕하세요!제가 Qt를 사용하여 컬링게임을 만들어보았는데요.사실 컬링게임이라고 하기에도 민망합니다.한 지점에서 10개의 공이 발사하고 공끼리 부딪히는 정도만 구현했습니다.점수를 매기는 것도 아니라서 공이 10개가 모두 발사되면 유저는 아무것도 할 수 없습니다.이 프로그램에서 제가 가장 중요하게 생각한건 공끼리 충돌하는 것인데요.실제 물리법칙과는 많이 다르게 튕기게 됩니다.그래도 맛보기 정도로 공이 상호작용하는 모습을 볼 수 있습니다. 위 사진과 같이 중앙에 컬링 목적지가 보입니다.마우스 커서의 위치를 따라 선이 그려지고 선이 길수록 발사속도는 강합니다.마우스 왼쪽버튼을 누르면 컬링 공이 발사됩니다.시간나시는 분들은 한번 해보세요! 다음은 공이 충돌했을 경우의 핵심 알고리즘입니다. 1234567891011..

컴퓨터 공학/Qt 2015.11.27
반응형