generated from me/template-mit
Add example project.
This commit is contained in:
1 parent
0bea8e4901
commit
bb38215c04
3 files changed
+78
-2
No files matched your search
@@ -0,0 +1,12 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
|
project(hello-world-qt VERSION 1.0)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
find_package(Qt6 COMPONENTS Widgets REQUIRED)
|
||||||
|
|
||||||
|
add_executable(hello-world-qt main.cpp)
|
||||||
|
|
||||||
|
target_link_libraries(hello-world-qt PRIVATE Qt6::Widgets)
|
||||||
@@ -1,3 +1,24 @@
|
|||||||
# template-mit
|
# Hello World Qt
|
||||||
|
|
||||||
Template with MIT license, protected `main` branch, and available `dev` branch.
|
A simple Qt application that displays "Hello World!" in a window with a close button.
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake ..
|
||||||
|
make
|
||||||
|
```
|
||||||
|
|
||||||
|
## Running
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./hello-world-qt
|
||||||
|
```
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
- Qt 6
|
||||||
|
- CMake
|
||||||
|
- C++17 compiler
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
#include <QApplication>
|
||||||
|
#include <QMainWindow>
|
||||||
|
#include <QPushButton>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
QApplication app(argc, argv);
|
||||||
|
|
||||||
|
QMainWindow mainWindow;
|
||||||
|
mainWindow.setWindowTitle("Hello World Qt");
|
||||||
|
mainWindow.resize(400, 300);
|
||||||
|
|
||||||
|
// Create central widget and layout
|
||||||
|
QWidget *centralWidget = new QWidget(&mainWindow);
|
||||||
|
QVBoxLayout *layout = new QVBoxLayout(centralWidget);
|
||||||
|
|
||||||
|
// Create hello world label
|
||||||
|
QLabel *helloLabel = new QLabel("Hello World!", centralWidget);
|
||||||
|
helloLabel->setAlignment(Qt::AlignCenter);
|
||||||
|
helloLabel->setStyleSheet("font-size: 24px; font-weight: bold;");
|
||||||
|
|
||||||
|
// Create close button
|
||||||
|
QPushButton *closeButton = new QPushButton("Close", centralWidget);
|
||||||
|
closeButton->setStyleSheet("font-size: 16px; padding: 10px;");
|
||||||
|
|
||||||
|
// Connect button to close action
|
||||||
|
QObject::connect(closeButton, &QPushButton::clicked, &mainWindow, &QMainWindow::close);
|
||||||
|
|
||||||
|
// Add widgets to layout
|
||||||
|
layout->addStretch();
|
||||||
|
layout->addWidget(helloLabel);
|
||||||
|
layout->addWidget(closeButton);
|
||||||
|
layout->addStretch();
|
||||||
|
|
||||||
|
// Set central widget
|
||||||
|
mainWindow.setCentralWidget(centralWidget);
|
||||||
|
|
||||||
|
// Show the window
|
||||||
|
mainWindow.show();
|
||||||
|
|
||||||
|
return app.exec();
|
||||||
|
}
|
||||||
Reference in new issue
Block a user