no image
QT project - 타이머 구현하기
서론 타이머 UI이다.시 분 초를 설정할 수 있으며 START, STOP, RESET 버튼을 만들었다.시간이 종료되면 QMessageBox가 출력되는 프로그램을 만들어 보자.코드timer.h#ifndef TIMER_H#define TIMER_H#include #include namespace Ui {class Timer;}class Timer : public QDialog{ Q_OBJECTpublic: explicit Timer(QWidget *parent = nullptr); ~Timer();private: Ui::Timer *ui; QTimer *timer; int totalSeconds = 0;private slots: void btn_start(); vo..
2024.07.17
no image
QT project - 스톱워치 구현하기
서론 간단하게 UI를 만들었다.시 : 분 : 초.미리초 를 보여주게 하였고버튼으로는 시작, 정지, 재시작, 랩을 배치하였다.랩 버튼을 누르면 랩 타임을 listWidget에 기록하게 만들었다. 코드stopwatch.h#ifndef STOPWATCH_H#define STOPWATCH_H#include #include #include namespace Ui {class Stopwatch;}class Stopwatch : public QDialog{ Q_OBJECTpublic: explicit Stopwatch(QWidget *parent = nullptr); ~Stopwatch();private: Ui::Stopwatch *ui; QTimer *timer; int elapse..
2024.07.17
[Spring Boot] Optional
Optinal이란?Java 8 버전부터 도입된 Optional은 값이 없는 경우를 표현하기 위한 클래스이다.Optional 클래스는 제네릭을 사용하여 어떤 타입의 객체도 감싸서 담을 수 있다. Option 객체는 값이 존재할 수도 있고, 없을 수도 있다.이는 NPE(NullPointerException) 예외를 방지할 수 있으며 코드의 안정성을 높이며 가독성을 향상 시킨다.Optional 객체 생성Optional 객체를 생성하면 of(), ofNullable(), empty() 등의 정적 팩토리 메서드를 사용할 수 있다.of() 메서드 : 값이 null이 아닌 경우에만 Optional 객체를 생성ofNullable() 메서드 : 값이 null인 경우에도 Optional 객체를 생성empty() 메서드 :..
2024.07.17
QT project - 계산기 구현하기 (2)
서론저번 시간에는 UI, SIGNAL, SLOT 함수를 구현했다.이번 시간에는 SLOT 함수를 구현하여 계산기를 완성해보자 함수 구현** 숫자 입력 ( void ProcessNum(int num))void Calculator::ProcessNum(int num){ QString currentText = ui->current->text(); if (!reset_mode) { if(currentText == "0"){ ui->current->setText(QString::number(num)); }else{ ui->current->setText(currentText + QString::number(num)); } }..
2024.07.17
no image
QT project - 계산기 구현하기 (1)
서론ui를 제작 했으니 내부 로직을 구현해보자Calculator.h#ifndef CALCULATOR_H#define CALCULATOR_H#include namespace Ui {class Calculator;}class Calculator : public QDialog{ Q_OBJECTpublic: explicit Calculator(QWidget *parent = nullptr); ~Calculator(); void ProcessNum(int num); void ProcessOperation(char operation_flag);private slots: void btn_1(); void btn_2(); void btn_3(); void btn_4();..
2024.07.17
no image
QT project - 새 레이아웃 보이기
서론메인 레이아웃에 버튼을 눌러 새 레이아웃에 여러가지 응용 프로그램을 실행하는 프로젝트를 진행중이기에버튼을 눌러 새 레이아웃을 할당하는 방법을 알아보자.클래스 생성하기 1. 프로젝트 -> 우클릭 -> Add new 클릭  2. Qt -> Qt Designer Form class 선택  3. Dialog without Buttons을 눌른 뒤  4. 원하는 Class, Header, Source, Form 이름을 작성한 뒤 생성한다. 5. 프로젝트 구성설정하기widget.h#ifndef WIDGET_H#define WIDGET_H#include #include #include "calculator.h"QT_BEGIN_NAMESPACEnamespace Ui { class Widget; }QT_END_NAM..
2024.07.16
no image
QT project - QTimer 사용하기
QTimer 사용해보기QTimer 클래스는 지정한 시간을 기준으로 반복해 호출할 수 있다.QTimer 클래스는 stop() 멤버 함수를 이용해 타이머를 정지할 수 있다. 만약 타이머를 반복해서 실행하지 않고 단 한번만 호출되도록 하기 위해 singleShot() 멤버 함수를 사용하면 된다. QTimer::singleShot(200, this, SLOT(updateCaption()));singleShot() 멤버 함수의 첫 번째 인자는 경과 되는 시간이며 단위는 밀리 세컨드 이다.그리고 세번째 인자는 첫 번째 인자의 시간이 경과된 후 호출될 Slot 함수를 지정하면 된다.현재 시간 코드헤더파일#ifndef WIDGET_H#define WIDGET_H#include #include QT_BEGIN_NAMES..
2024.07.16
no image
QT project - 응용 프로그램 만들어보기
서론메인 화면에 다양한 버튼을 클릭하여 새로운 레이아웃을 띄운 후QT가 지원하거나 다양한 응용 프로그램이 동작 할 수 있는 프로젝트를 해보자 디자인현재 5가지 버튼만 넣어봤지만 추후 프로젝트를 진행하면서 버튼을 추가 할 예정이다.
2024.07.16