리소스 사용과 임베팅 폰트



1. 리소스 파일 생성



2. 리소스 파일 정리와 임포트


1) 리소스 파일을 프로젝트 폴더에 [ Resources ] 라고 만들고 그 하위에 폴더 별로 정리 하였다. 어차피 Qt 에서 리소스가 [ / ] 단위로 이름을 지정 하니 이 방법이 효율적일것 같다.



2) 프로젝트 리소스 에 임포트




3. 코드 구현

- ui 에 이미 [ label_font ] 와 [ label_img ] 가 만들어져 있고 헤더에 [ #include <QtGui> ] 되어 있다.




 

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    //리소스 파일 확인
    QFile fontFile(":/Resources/font/airstrike.ttf");
    QFile imgFile(":/Resources/img/img.jpg");
    qDebug() << "font file exist : " << fontFile.exists();
    qDebug() << "img file exist : " << imgFile.exists();



    //임베딩된 폰트 사용
    if(fontFile.exists() == true)
    {
        int newfontId = QFontDatabase::addApplicationFont(fontFile.fileName());
        QString fontname = QFontDatabase::applicationFontFamilies(newfontId).at(0);
        QFont font(fontname);
        font.setPointSize(42);
        font.setStyleStrategy(QFont::PreferAntialias);
        ui->label_font->setFont(font);
    }


    //임베딩된 이미지 사용
    if(imgFile.exists() == true)
    {
        ui->label_img->setPixmap( QPixmap(imgFile.fileName()));
    }
}

Widget::~Widget()
{
    delete ui;
}

Yamecoder 야매코더_
C++(Qt) 2015.09.24 13:01
Powerd by Tistory, designed by criuce
rss