본문 바로가기

임베디드 시스템반도체 개발자 과정 by 서울기술교육센터/후기

85일차

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 연결

앞 3자리는 maker number, 뒤 3자리는 serial number
대문자 R은 현재부터 아랫단까지의 경로를 보여준다고 함.
글씨 크기 조절은 font에서

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() + "입니다.");
}

 

'임베디드 시스템반도체 개발자 과정 by 서울기술교육센터 > 후기' 카테고리의 다른 글

87일차  (0) 2022.10.26
86일차  (0) 2022.10.25
83일차  (0) 2022.10.20
82일차  (0) 2022.10.19
81일차  (0) 2022.10.18