no image
QT project - 메모장 구현하기
서론윈도우에서 제공하는 메모장처럼 새로열기, 열기, 저장 기능을 만들어보자 메뉴바 구현메뉴바를 구현하기 위해서는 3가지가 필요하다.1. 메뉴바2. 메뉴바 위에 올릴 메뉴들3. 메뉴를 누르면 실행할 액션들따라서 QMenuBar, QMenu, QAcion들을 헤더파일에 포함시키면 된다. notepad.h#ifndef NOTEPAD_H#define NOTEPAD_H#include #include #include #include #include #include namespace Ui {class Notepad;}class Notepad : public QDialog{ Q_OBJECTpublic: explicit Notepad(QWidget *parent = nullptr); ~Notepad();..
2024.07.19
QT - QFileDialog 사용해보기
QFileDialog디렉토리 or 파일을 선택하는 GUI 인터페이스를 제공한다. QFileDialog::getExistingDirectoryQString QFileDialog::getExistingDirectory( QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), QFileDialog::Options options = QFileDialog::ShowDirsOnly)사용자가 디렉터리를 선택하도록 하는 파일 대화 상자를 연다.매개변수parent: 파일 대화 상자의 부모 위젯caption: 파일 대화 상자의 제목dir: 파일 대화 상자가 처음 열릴 때 표시할 디렉토리 ..
2024.07.19
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