initial commit
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
build/*
|
||||||
24
CMakeLists.txt
Normal file
24
CMakeLists.txt
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
|
||||||
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
|
project(HelloQt LANGUAGES CXX)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
# Adjust path to your Qt MinGW install
|
||||||
|
set(CMAKE_PREFIX_PATH "C:/Qt/6.7.2/mingw_64")
|
||||||
|
|
||||||
|
find_package(Qt6 REQUIRED COMPONENTS Widgets)
|
||||||
|
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
set(CMAKE_AUTORCC ON)
|
||||||
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
|
||||||
|
add_executable(HelloQt
|
||||||
|
src/main.cpp
|
||||||
|
src/mainwindow.hpp
|
||||||
|
src/mainwindow.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(HelloQt PRIVATE Qt6::Widgets)
|
||||||
9
scripts/build.bat
Normal file
9
scripts/build.bat
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
rm -r build
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
|
||||||
|
cmake .. -G "MinGW Makefiles"
|
||||||
|
cmake --build .
|
||||||
|
|
||||||
|
C:\Qt\6.10.1\mingw_64\bin\windeployqt.exe HelloQt.exe
|
||||||
13
src/main.cpp
Normal file
13
src/main.cpp
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
#include <QApplication>
|
||||||
|
#include "mainwindow.hpp"
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
QApplication app(argc, argv);
|
||||||
|
|
||||||
|
MainWindow window;
|
||||||
|
window.show();
|
||||||
|
|
||||||
|
return app.exec();
|
||||||
|
}
|
||||||
33
src/mainwindow.cpp
Normal file
33
src/mainwindow.cpp
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
|
||||||
|
#include "mainwindow.hpp"
|
||||||
|
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QPushButton>
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
|
||||||
|
|
||||||
|
// probably this will be in a qml file
|
||||||
|
auto *central = new QWidget(this);
|
||||||
|
auto *layout = new QVBoxLayout(central);
|
||||||
|
|
||||||
|
label_ = new QLabel("cases: 0", this);
|
||||||
|
label_->setAlignment(Qt::AlignCenter);
|
||||||
|
|
||||||
|
button_ = new QPushButton("many such cases !", this);
|
||||||
|
|
||||||
|
layout->addWidget(label_);
|
||||||
|
layout->addWidget(button_);
|
||||||
|
|
||||||
|
setCentralWidget(central);
|
||||||
|
setWindowTitle("moblus !!!");
|
||||||
|
resize(400, 200);
|
||||||
|
|
||||||
|
connect(button_, &QPushButton::clicked, this, &MainWindow::incrementCounter);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::incrementCounter() {
|
||||||
|
counter_++;
|
||||||
|
label_->setText(QString("cases: %1").arg(counter_));
|
||||||
|
}
|
||||||
21
src/mainwindow.hpp
Normal file
21
src/mainwindow.hpp
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QMainWindow>
|
||||||
|
|
||||||
|
class QLabel;
|
||||||
|
class QPushButton;
|
||||||
|
|
||||||
|
class MainWindow : public QMainWindow {
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit MainWindow(QWidget *parent = nullptr);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void incrementCounter();
|
||||||
|
|
||||||
|
private:
|
||||||
|
int counter_ = 0;
|
||||||
|
QLabel *label_;
|
||||||
|
QPushButton *button_;
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user