[Qt & Visual Studio] ์ด๋ฏธ์ง ํ์ผ ์ ํํ์ฌ ๊ทธ๋ฆฌ๊ธฐ
์๊ฐ
๋ณดํต ์๋ก์ด ์ธ์ด๋ ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฒซ ์์ ํ๋ก์ ํธ๊ฐ 'Hello World'๋ก ์์ํ์ฃ ?
์ ๊ฐ์ ๊ฒฝ์ฐ๋ Hello World ๋ค์์ผ๋ก ์ด๋ฏธ์ง ํ์ผ ์ ํ ํ ๊ทธ๋ฆฌ๋ ์์ ์ ์์ํฉ๋๋ค.
์ด๋ฏธ์ง ๊ฐ์ฒด๋ ์ด๋ค ๊ฒ์ด ์๋์ง, ๊ทธ๋ ค์ง๋ ๋์์๋ ์ด๋ค ์ปจํธ๋กค์ด ์ฌ์ฉ๋๋์ง๋ฅผ ํ์ธํ๋ ๊ฒ์ด ๊ฐ์ฅ ๊ธฐ๋ณธ ๋จ๊ณ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ๋์ ์ด๋ฒ ํฌ์คํ ์์๋ Button์ ํด๋ฆญํ๋ฉด ์ด๋ฏธ์ง ํ์ผ์ ์ ํํ๊ณ , ์ ํ๋ ์ด๋ฏธ์ง๋ฅผ Label์ ๊ทธ๋ฆฌ๋ ์์ ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ์์ํ๊ธฐ ์ ์, ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
๋ฐ๋ผํ๊ธฐ
์ด๋ฒ ํ๋ก์ ํธ๋ QDialog ๊ธฐ๋ฐ์ผ๋ก ์์ฑํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ Qt Designer์์๋ ์๋์ ๊ฐ์ด Push Button๊ณผ QLabel์ ์ถ๊ฐํฉ๋๋ค.
์ ๋ ์ด๋ฏธ์ง ์ ๋ณด๋ฅผ ํ์ํ๊ธฐ ์ํด ์ฌ๋ฌ ๊ฐ์ QLabel์ ๋ณ๋๋ก ์ถ๊ฐํ์ต๋๋ค.
Qt Designer ๋ฐฐ์น ํ๋ฉด
Visual Studio์์ ํค๋ ํ์ผ์๋ ๋ค์๊ณผ ๊ฐ์ด Slot ํจ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
#pragma once
#include <QtWidgets/QDialog>
#include "ui_QtGuiApplication1.h"
#include <qfiledialog.h>
class QtGuiApplication1 : public QDialog
{
Q_OBJECT
public:
QtGuiApplication1(QWidget *parent = Q_NULLPTR);
private:
Ui::QtGuiApplication1Class ui;
private slots:
void ButtonClicked();
};
์์ค ํ์ผ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ถ๊ฐํฉ๋๋ค.
#include "QtGuiApplication1.h"
QtGuiApplication1::QtGuiApplication1(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
connect(ui.pushButton_LoadImage, SIGNAL(clicked()), this, SLOT(ButtonClicked()));
}
void QtGuiApplication1::ButtonClicked()
{
QFileDialog dlg;
QString filePath = dlg.getOpenFileName(this, "Load Image", "", "Image Files (*.png *.jpg *.bmp)");
QString fileName = filePath.section("/", -1);
ui.label_FileName->setText(fileName);
QPixmap img;
img.load(filePath);
int w = img.width();
ui.label_Width->setText(QString::number(w));
int h = img.height();
ui.label_Height->setText(QString::number(h));
ui.label_Display->setPixmap(img);
ui.label_Display->setScaledContents(true);
}
17๋ฒ์งธ ์ค์ ํ์ผ ์ด๋ฆ์ ์ถ์ถํ๊ธฐ ์ํด section ํจ์๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
28๋ฒ์งธ ์ค์ setPixmap ํจ์๋ ๋ถ๋ฌ์จ QPixmap ์ด๋ฏธ์ง ์ ๋ณด๋ฅผ QLabel์ ์ค์ ํ๋ ๊ฒ์ ๋๋ค.
29๋ฒ์งธ ์ค์ setScaledContents ํจ์๋ QLabel์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๊ณต๊ฐ์ ์ฑ์ฐ๋ ๋์ ์ํํฉ๋๋ค.
์ฆ, ์ค์ ๋ Pixmap์ ํฌ๊ธฐ๊ฐ ์กฐ์ ๋ฉ๋๋ค.
๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ์ต๋๋ค.
ํ๋ก์ ํธ ์์ ๊ฒฐ๊ณผ
'Programming > Qt' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Qt] Visual Studio์์ Qt Designer Button ์ด๋ฒคํธ ์ฐ๊ฒฐํ๊ธฐ (2) | 2019.08.16 |
---|---|
[Qt] Visual Studio 2015์์ Qt ์ฌ์ฉํ๊ธฐ (0) | 2019.05.19 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[Qt] Visual Studio์์ Qt Designer Button ์ด๋ฒคํธ ์ฐ๊ฒฐํ๊ธฐ
[Qt] Visual Studio์์ Qt Designer Button ์ด๋ฒคํธ ์ฐ๊ฒฐํ๊ธฐ
2019.08.16 -
[Qt] Visual Studio 2015์์ Qt ์ฌ์ฉํ๊ธฐ
[Qt] Visual Studio 2015์์ Qt ์ฌ์ฉํ๊ธฐ
2019.05.19