Example de cours

flags
Francois DELOBEL 1 month ago
parent 2d8790924b
commit 85eb769221

@ -0,0 +1,82 @@
# This file is used to ignore files which are generated
# ----------------------------------------------------------------------------
*~
*.autosave
*.a
*.core
*.moc
*.o
*.obj
*.orig
*.rej
*.so
*.so.*
*_pch.h.cpp
*_resource.rc
*.qm
.#*
*.*#
core
!core/
tags
.DS_Store
.directory
*.debug
Makefile*
*.prl
*.app
moc_*.cpp
ui_*.h
qrc_*.cpp
Thumbs.db
*.res
*.rc
/.qmake.cache
/.qmake.stash
# qtcreator generated files
*.pro.user*
*.qbs.user*
CMakeLists.txt.user*
# xemacs temporary files
*.flc
# Vim temporary files
.*.swp
# Visual Studio generated files
*.ib_pdb_index
*.idb
*.ilk
*.pdb
*.sln
*.suo
*.vcproj
*vcproj.*.*.user
*.ncb
*.sdf
*.opensdf
*.vcxproj
*vcxproj.*
# MinGW generated files
*.Debug
*.Release
# Python byte code
*.pyc
# Binaries
# --------
*.dll
*.exe
# Directories with generated files
.moc/
.obj/
.pch/
.rcc/
.uic/
/build*/

@ -0,0 +1,42 @@
cmake_minimum_required(VERSION 3.16)
project(SuperRectangle VERSION 0.1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 REQUIRED COMPONENTS Quick)
qt_standard_project_setup(REQUIRES 6.8)
qt_add_executable(appSuperRectangle
main.cpp
)
qt_add_qml_module(appSuperRectangle
URI SuperRectangle
VERSION 1.0
QML_FILES
Main.qml
)
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
# If you are developing for iOS or macOS you should consider setting an
# explicit, fixed bundle identifier manually though.
set_target_properties(appSuperRectangle PROPERTIES
# MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appSuperRectangle
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
WIN32_EXECUTABLE TRUE
)
target_link_libraries(appSuperRectangle
PRIVATE Qt6::Quick
)
include(GNUInstallDirs)
install(TARGETS appSuperRectangle
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

@ -0,0 +1,62 @@
import QtQuick
import QtQuick.Controls
Window {
id: fenetre
width: 640
height: 480
visible: true
title: qsTr("Hello World")
Column {
id: green
SpinBox {
id: electron
editable: true
from: echafaud.from
to: echafaud.to
onValueChanged: echafaud.value = value
anchors.horizontalCenter: parent.horizontalCenter
}
Slider {
id: echafaud
width: fenetre.width
from: 0
to: 100
onValueChanged: {
electron.value = value
}
}
}
Item {
anchors.top: green.bottom
anchors.bottom: quit.top
width: parent.width
Rectangle {
id: bob
color: "limegreen"
height: parent.height
width: echafaud.value * fenetre.width / 100
opacity: 0.5
}
Rectangle {
height: bob.height
anchors.left: bob.right
anchors.right: parent.right
color: "red"
opacity: 0.5
}
}
Button {
id: quit
anchors.bottom: parent.bottom
anchors.right: parent.right
text: "&Quit"
onClicked: fenetre.close()
}
}

@ -0,0 +1,18 @@
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
QObject::connect(
&engine,
&QQmlApplicationEngine::objectCreationFailed,
&app,
[]() { QCoreApplication::exit(-1); },
Qt::QueuedConnection);
engine.loadFromModule("SuperRectangle", "Main");
return app.exec();
}
Loading…
Cancel
Save