반응형

큐티프로그래밍 14

[ Qt 프로그래밍 ] QDateTime 간단한 사용법

Qt에는 다른 언어와 마찬가지로 날짜를 표현하는 클래스가 있습니다. QDate, QTime, 그리고 QDateTime 입니다.QDate 클래스는 년,월,일을 표현하고,QTime 클래스는 시,분,초를 표현합니다.그리고 QDateTime 클래스는 년,월,일,시,분,초를 표현합니다. QDateTime 클래스는 사용하기 쉽지만, 처음 접하는 분들이 약간 헷갈리실 수 있습니다. Colored By Color Scripter™1234567 QDateTime latestDate; QDate tempDate; tempDate.setDate(year,month,day); QTime tempTime; tempTime.setHMS(hour,minute,second); latestDate.setTime(tempTime); l..

컴퓨터 공학/Qt 2015.11.27

[ Qt 프로그래밍 ] 젤다의 전설 캐릭터로 Sprite 애니메이션을 적용해보았습니다.

BGM정보 : 브금저장소 - http://bgmstore.net/view/tA4eI지난번에 만든 아오오니를 보면 캐릭터가 걷는 동작 없이 움직이는 것을 볼 수 있습니다.그래서 Qt에서 걷는 애니메이션을 만들 수 없을까해서 이리저리 검색해본결과 생각보다 쉬웠습니다.Qt에 있는 QPixmap과 QPainter의 drawPixmap함수만 사용하면 쉽게 만들 수 있습니다.Colored By Color Scripter™12345678void Widget::paintEvent(QPaintEvent *){    QPainter painter(this);    painter.setBrush(QBrush(Qt::black,Qt::SolidPattern));    painter.setPen(QPen(Qt::transpar..

컴퓨터 공학/Qt 2015.11.27

[ Qt 프로그래밍 ] 애니메이션 예제 (QPropertyAnimation)

전에 썼던 글에서 QPropertyAnimation 클래스를 직접 사용한 프로그램을 만들어봤습니다.사실 쓸 함수는 별로 없는데 애니메이션 클래스가 워낙 눈에 쏙쏙 들어와서 재밌게 가지고 놀 수 있습니다. 위 사진의 녀석은 슈렉에도 나왔던 진저맨이라는 녀석입니다.워낙 귀여운 캐릭터라 많이 이들이 좋아했는데, 이번에는 이녀석을 마우스 클릭할 때마다 바탕화면에 이리저리 도망다니는 애니메이션을 만들었습니다. 이 프로그램을 만들면서 사용한 유용한 코드를 살펴보겠습니다. Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include "widget.h"#inclu..

컴퓨터 공학/Qt 2015.11.27

[ Qt 프로그래밍 ] 위젯에 애니메이션 사용하기

Colored By Color Scripter™1234567891011121314#include Widget::Widget(){ QPropertyAnimation* animation=new QPropertyAnimation(this,"geometry"); animation->setDuration(1000); //애니메이션 시간(msec) animation->setStartValue(QRect(0,0,this->geometry().width(),this->geometry().height())); //처음 위치와 크기 animation->setEndValue(QRect(100,100,this->geometry().width(),this->geometry().height())); //종료후 위치와 크기 ani..

컴퓨터 공학/Qt 2015.11.26

[ Qt 프로그래밍 ] SQLITE에서 데이터 가져오기

대부분 프로그램에서 데이터베이스를 사용하는데, 간단한 응용프로그램에서는 가벼운 데이터베이스 프로그램인 SQLITE를 사용합니다.Qt에서는 SQLITE를 사용할 수 있도록 도와주고 있습니다. 우선, SQL관련 클래스를 사용하기 위해서 pro파일에 QT += sql을 추가해야 합니다. 추가를 했으면, 이제 사용하면 됩니다. 다음은 간단한 예제입니다. Colored By Color Scripter™12345678910111213 QSqlDatabase db; //SQL데이터베이스 인스턴스 생성 db=QSqlDatabase::addDatabase("QSQLITE");//데이터베이스 종류설정 db.setDatabaseName("memo.db"); //데이터베이스 파일이름설정 db.open(); //데이터베이스 오..

컴퓨터 공학/Qt 2015.11.26

[ Qt 프로그래밍 ] 미로찾기 프로그램

미로찾기는 시작점에서 출발해서 미로를 통과해 도착점까지 가는게 목표입니다.만약 일직선이면 그냥 가면됩니다.하지만 항상 갈림길이 나옵니다.과연 이 갈림길에서 어떤 선택을 해야할까요?이런점에서 많은 고민을 해봐야하는 프로그램입니다.총 에너지는 미로의 행*열*2의 크기를 갖고있고 한칸씩 움직일때마다 1씩 감소합니다.그리고 자신의 위치에서 주변을 둘러싸는 9칸까지는 벽인지 길인지 알수있습니다.마지막으로 왼쪽위에서 출발해서 오른쪽아래 끝점으로 도착하는건 정해져있지만,미로의 크기와 미로 데이터는 랜덤입니다.미로는 정사각형이 아니라 직사각형일 수도 있습니다. 저는 미로찾기 프로그램을 짤때 간단한 몇가지 아이디어를 적용했습니다. 첫째로, 출발점과 도착점의 위치는 정해져있습니다. 따라서 어떤 미로든 출발점과 도착점을 잇..

컴퓨터 공학/Qt 2015.11.26

[ Qt 프로그래밍 ] 심시티5 시각화 그래프를 OpenGL로 구현해봤습니다.

제가 심시티5를 아직 해보진 않았지만 유튜브나 사진에서 보면 위 사진과 같이 통계자료에 대한 시각화가 아주 잘되있는걸 알 수 있습니다.그래서 OpenGL 공부도 할겸해서 위 사진의 보라색 3D 그래프를 구현해보았습니다.결과는? 생각보다 괜찮게 된것 같습니다.제가 올린 큐브예제에서 drawCube 함수를 새로 만들어서 큐브 정보를 옮겼습니다. 그리고 for문을 통해 랜덤으로 그래프를 생성하도록 하였습니다.그리고 분산광을 적용하여 입체감을 넣었습니다. (분산광을 안넣으면 전부 같은 색상이라 구분이 안됩니다;)마우스로 회전도 할 수 있습니다.첨부파일에 올려둘테니 한번 해보세요 ㅎㅎ

컴퓨터 공학/Qt 2015.11.26

[ Qt 프로그래밍 ] OpenGL 로 2D 사각형 만들기

OpenGL로 2D 시점의 사각형을 만들어보겠습니다. 아래 코드는 첨부파일에 올려둔 프로젝트에서 OpenGL부분의 클래스입니다. Colored By Color Scripter™12345678910111213141516171819202122232425262728293031323334353637383940#ifndef GLWIDGET_H#define GLWIDGET_H #include class QTimer; class GLWidget : public QGLWidget{ Q_OBJECTpublic: GLWidget(); ~GLWidget(); private: void paintGL(); //GL그리는 함수 void initializeGL(); //GL초기화하는 함수 void resizeGL(int w, in..

컴퓨터 공학/Qt 2015.11.26

[ Qt 프로그래밍 ] OpenGL 로 큐브 만들기

이번에는 Qt로 OpenGL을 이용한 큐브를 만들어보겠습니다.Qt에서 제공하는 OpenGL은 대부분의 기능을 지원합니다.GL.h을 사용하고, glut.h 혹은 glu.h는 사용하지 않습니다.그래서 glut로 시작하는 함수 혹은 glu로 시작하는 함수는 읽지 못합니다. 다음은 프로젝트의 일부분 소스코드입니다. Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233343536373839404142434445#ifndef GLWIDGET_H#define GLWIDGET_H #include class QTimer; class GLWidget : public QGLWidget{ Q_OBJECTpublic: GLWidge..

컴퓨터 공학/Qt 2015.11.26
반응형