From f29499fee6df5cf89c64011e32ccdc629fa896f1 Mon Sep 17 00:00:00 2001 From: Benjamin Kraft Date: Wed, 2 Feb 2022 21:30:37 +0100 Subject: [PATCH] test ui basic start --- .gitignore | 3 ++- CMakeLists.txt | 5 ++++- headers/MainWindow.h | 18 ++++++++++++++++++ headers/OutputWidget.h | 11 +++++++++++ src/MainWindow.cpp | 30 ++++++++++++++++++++++++++++++ src/OutputWidget.cpp | 2 ++ main.cpp => src/main.cpp | 9 +++++---- 7 files changed, 72 insertions(+), 6 deletions(-) create mode 100644 headers/MainWindow.h create mode 100644 headers/OutputWidget.h create mode 100644 src/MainWindow.cpp create mode 100644 src/OutputWidget.cpp rename main.cpp => src/main.cpp (51%) diff --git a/.gitignore b/.gitignore index da6ed1a..cf99bf6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ # Project exclude paths -/cmake-build-debug/ \ No newline at end of file +/cmake-build-debug/ +/.idea/ \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f3440e..8dc192e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,7 +15,10 @@ find_package(Qt6 COMPONENTS OpenGL REQUIRED) -add_executable(Mandelbrot main.cpp) +file(GLOB_RECURSE SOURCE_FILES src/**.cpp) +file(GLOB_RECURSE HEADER_FILES headers/**.h) +add_executable(Mandelbrot ${SOURCE_FILES} ${HEADER_FILES}) + target_link_libraries(Mandelbrot Qt::Core Qt::Gui diff --git a/headers/MainWindow.h b/headers/MainWindow.h new file mode 100644 index 0000000..29558fb --- /dev/null +++ b/headers/MainWindow.h @@ -0,0 +1,18 @@ +#pragma once + +#include +#include "OutputWidget.h" + +class MainWindow : public QWidget { + Q_OBJECT +public: + explicit MainWindow(QWidget *parent = nullptr); +public slots: + void sizeChanged(int newValue); +private: + void buildUI(); + + OutputWidget* outputWidget = new OutputWidget; +}; + + diff --git a/headers/OutputWidget.h b/headers/OutputWidget.h new file mode 100644 index 0000000..8a8f5db --- /dev/null +++ b/headers/OutputWidget.h @@ -0,0 +1,11 @@ + +#pragma once + + +#include + +class OutputWidget : public QWidget{ + +}; + + diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp new file mode 100644 index 0000000..261c36e --- /dev/null +++ b/src/MainWindow.cpp @@ -0,0 +1,30 @@ +#include +#include +#include +#include "../headers/MainWindow.h" + +MainWindow::MainWindow(QWidget *parent): QWidget(parent) { + buildUI(); +} + +void MainWindow::buildUI() { + + auto sizeSlider = new QSlider(Qt::Horizontal); + sizeSlider->setRange(100, 800); + QSlider::connect(sizeSlider, &QSlider::valueChanged, this, &MainWindow::sizeChanged); + sizeSlider->setValue(500); + + auto controls = new QGridLayout; + controls->addWidget(sizeSlider); + + QVBoxLayout lyt; + + lyt.addWidget(outputWidget); + lyt.addLayout(controls); + + setLayout(&lyt); +} + +void MainWindow::sizeChanged(int newValue) { + std::cout << newValue << std::endl; +} diff --git a/src/OutputWidget.cpp b/src/OutputWidget.cpp new file mode 100644 index 0000000..692a417 --- /dev/null +++ b/src/OutputWidget.cpp @@ -0,0 +1,2 @@ + +#include "../headers/OutputWidget.h" diff --git a/main.cpp b/src/main.cpp similarity index 51% rename from main.cpp rename to src/main.cpp index fc5ac08..e080eec 100644 --- a/main.cpp +++ b/src/main.cpp @@ -1,10 +1,11 @@ #include -#include +#include "../headers/MainWindow.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); - QPushButton button("Hello world!", nullptr); - button.resize(200, 100); - button.show(); + + MainWindow w; + w.show(); + return QApplication::exec(); }