10월 24일
일정이 바뀌어서 FPGA 대신 QT 진도.
오전
https://github.com/316415/cpp_problem.git
GitHub - 316415/cpp_problem: cpp pratice
cpp pratice. Contribute to 316415/cpp_problem development by creating an account on GitHub.
github.com
오후부터 QT 진도.
QT를 왜 쓰는가?
개발환경과 상관없이 크로스플랫폼이 가능하여 임베디드 특히 전장 쪽에서 많이 쓰인다.
ip 확인 후 MobaXTerm 연결
button 우클릭 go to slot --> cliked
//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_comboBox_dong_currentIndexChanged(int index);
void on_comboBox_city_currentIndexChanged(int index);
void on_comboBox_gu_currentIndexChanged(int index);
int time_update(); //Add for displaying time
private:
Ui::MainWindow *ui;
QTimer *timer; //timer object
int city_index;
int gu_index;
int dong_index;
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTimer> //Add for the timer
#include <QDateTime> //Add for getting currunt time
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
timer = new QTimer(this); //타이머 생성
//time out (1000ms) 되면 time_update라는 함수를 호출해라.
connect(timer, SIGNAL(timeout()), this, SLOT(time_update()));
timer->start(1000); //1000ms timer를 시작
}
MainWindow::~MainWindow()
{
delete ui;
}
int MainWindow::time_update()
{
QDateTime local(QDateTime::currentDateTime());
ui->label_time->setText(local.toString());
return 0;
}
void MainWindow::on_comboBox_city_currentIndexChanged(int index)
{
city_index = index;
if(city_index == 1)
{
ui->comboBox_gu->clear();
ui->comboBox_dong->clear();
ui->comboBox_gu->addItem("강서구");
ui->comboBox_gu->addItem("강남구");
}
if(city_index == 2)
{
ui->comboBox_gu->clear();
ui->comboBox_dong->clear();
ui->comboBox_gu->addItem("해운대");
ui->comboBox_gu->addItem("사하구");
}
if(city_index == 3)
{
ui->comboBox_gu->clear();
ui->comboBox_dong->clear();
ui->comboBox_gu->addItem("연수구");
ui->comboBox_gu->addItem("남동구");
}
}
void MainWindow::on_comboBox_gu_currentIndexChanged(int index)
{
gu_index = index;
if(city_index == 1 && gu_index == 0)
{
ui->comboBox_dong->clear();
ui->comboBox_dong->addItem("화곡동");
ui->comboBox_dong->addItem("우장산");
}
if(city_index == 1 && gu_index == 1)
{
ui->comboBox_dong->clear();
ui->comboBox_dong->addItem("양재동");
ui->comboBox_dong->addItem("서초동");
}
if(city_index == 2 && gu_index == 0)
{
ui->comboBox_dong->clear();
ui->comboBox_dong->addItem("광안리");
ui->comboBox_dong->addItem("연산동");
}
if(city_index == 2 && gu_index == 1)
{
ui->comboBox_dong->clear();
ui->comboBox_dong->addItem("아미동");
ui->comboBox_dong->addItem("연초동");
}
if(city_index == 3 && gu_index == 0)
{
ui->comboBox_dong->clear();
ui->comboBox_dong->addItem("연수1동");
ui->comboBox_dong->addItem("연수2동");
}
if(city_index == 3 && gu_index == 1)
{
ui->comboBox_dong->clear();
ui->comboBox_dong->addItem("남동1동");
ui->comboBox_dong->addItem("남동2동");
}
}
void MainWindow::on_comboBox_dong_currentIndexChanged(int index)
{
ui->lineEdit->setText("거주지는 " + ui->comboBox_city->currentText() + " " + ui->comboBox_gu->currentText() + " " +ui->comboBox_dong->currentText() + "입니다.");
}