feat(qt): simple qt qml application

This commit is contained in:
Orangerot 2024-07-26 17:49:18 +02:00
parent f039734ddd
commit a5ba031c9d
4 changed files with 35 additions and 4 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
build/

View file

@ -4,3 +4,7 @@ project(itat_challange_olympics)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
add_executable(itat_challange_olympics main.cpp) add_executable(itat_challange_olympics main.cpp)
find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(itat_challange_olympics PRIVATE Qt6::Quick)

13
application.qml Normal file
View file

@ -0,0 +1,13 @@
import QtQuick
import QtQuick.Controls
ApplicationWindow {
width: 400
height: 400
visible: true
Button {
id: button
text: "A Special Button"
}
}

View file

@ -1,6 +1,19 @@
#include <iostream> #include <QGuiApplication>
#include <QQmlEngine>
#include <QQmlContext>
#include <QQmlComponent>
int main() { int main(int argc, char *argv[])
std::cout << "Hello, World!" << std::endl; {
return 0; QGuiApplication app(argc, argv);
QQmlEngine engine;
QQmlContext *objectContext = new QQmlContext(engine.rootContext());
QQmlComponent component(&engine, "application.qml");
QObject *object = component.create(objectContext);
// ... delete object and objectContext when necessary
return app.exec();
} }