Update views example to use modules

The qmake and qmlproject files are adapted to use the "shared" module,
too.

Pick-to: 6.2
Change-Id: I5fc4895416357ba202528b155581b1b5a880a68d
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
This commit is contained in:
Ulf Hermann 2021-08-27 16:33:25 +02:00
parent 7b6eea37ae
commit cb9cc7ca66
6 changed files with 66 additions and 89 deletions

View File

@ -59,6 +59,7 @@
app.setOrganizationDomain("qt-project.org");\ app.setOrganizationDomain("qt-project.org");\
app.setApplicationName(QFileInfo(app.applicationFilePath()).baseName());\ app.setApplicationName(QFileInfo(app.applicationFilePath()).baseName());\
QQuickView view;\ QQuickView view;\
view.engine()->addImportPath(QStringLiteral(":/"));\
if (qEnvironmentVariableIntValue("QT_QUICK_CORE_PROFILE")) {\ if (qEnvironmentVariableIntValue("QT_QUICK_CORE_PROFILE")) {\
QSurfaceFormat f = view.format();\ QSurfaceFormat f = view.format();\
f.setProfile(QSurfaceFormat::CoreProfile);\ f.setProfile(QSurfaceFormat::CoreProfile);\

View File

@ -20,26 +20,48 @@ find_package(Qt6 COMPONENTS Gui)
find_package(Qt6 COMPONENTS Quick) find_package(Qt6 COMPONENTS Quick)
find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Qml)
qt_add_executable(views add_subdirectory("../shared" "shared")
qt_add_executable(viewsexample
main.cpp main.cpp
) )
set_target_properties(views PROPERTIES set_target_properties(viewsexample PROPERTIES
WIN32_EXECUTABLE TRUE WIN32_EXECUTABLE TRUE
MACOSX_BUNDLE TRUE MACOSX_BUNDLE TRUE
) )
target_link_libraries(views PUBLIC target_link_libraries(viewsexample PRIVATE
Qt::Core Qt::Core
Qt::Gui Qt::Gui
Qt::Qml Qt::Qml
Qt::Quick Qt::Quick
views_shared
) )
qt_add_qml_module(viewsexample
# Resources: URI views
set(views_resource_files VERSION 1.0
QML_FILES
"delegatemodel/dragselection.qml" "delegatemodel/dragselection.qml"
"delegatemodel/slideshow.qml" "delegatemodel/slideshow.qml"
"gridview/gridview-example.qml" "gridview/gridview-example.qml"
"listview/content/PetsModel.qml"
"listview/content/PressAndHoldButton.qml"
"listview/content/RecipesModel.qml"
"listview/content/SmallText.qml"
"listview/content/TextButton.qml"
"listview/content/ToggleButton.qml"
"listview/displaymargin.qml"
"listview/dynamiclist.qml"
"listview/expandingdelegates.qml"
"listview/highlight.qml"
"listview/highlightranges.qml"
"listview/sections.qml"
"objectmodel/objectmodel.qml"
"package/Delegate.qml"
"package/view.qml"
"pathview/pathview-example.qml"
"views.qml"
RESOURCES
"gridview/pics/AddressBook_48.png" "gridview/pics/AddressBook_48.png"
"gridview/pics/AudioPlayer_48.png" "gridview/pics/AudioPlayer_48.png"
"gridview/pics/Camera_48.png" "gridview/pics/Camera_48.png"
@ -47,12 +69,6 @@ set(views_resource_files
"gridview/pics/EMail_48.png" "gridview/pics/EMail_48.png"
"gridview/pics/TodoList_48.png" "gridview/pics/TodoList_48.png"
"gridview/pics/VideoPlayer_48.png" "gridview/pics/VideoPlayer_48.png"
"listview/content/PetsModel.qml"
"listview/content/PressAndHoldButton.qml"
"listview/content/RecipesModel.qml"
"listview/content/SmallText.qml"
"listview/content/TextButton.qml"
"listview/content/ToggleButton.qml"
"listview/content/pics/arrow-down.png" "listview/content/pics/arrow-down.png"
"listview/content/pics/arrow-up.png" "listview/content/pics/arrow-up.png"
"listview/content/pics/fruit-salad.jpg" "listview/content/pics/fruit-salad.jpg"
@ -65,16 +81,6 @@ set(views_resource_files
"listview/content/pics/pancakes.jpg" "listview/content/pics/pancakes.jpg"
"listview/content/pics/plus-sign.png" "listview/content/pics/plus-sign.png"
"listview/content/pics/vegetable-soup.jpg" "listview/content/pics/vegetable-soup.jpg"
"listview/displaymargin.qml"
"listview/dynamiclist.qml"
"listview/expandingdelegates.qml"
"listview/highlight.qml"
"listview/highlightranges.qml"
"listview/sections.qml"
"objectmodel/objectmodel.qml"
"package/Delegate.qml"
"package/view.qml"
"pathview/pathview-example.qml"
"pathview/pics/AddressBook_48.png" "pathview/pics/AddressBook_48.png"
"pathview/pics/AudioPlayer_48.png" "pathview/pics/AudioPlayer_48.png"
"pathview/pics/Camera_48.png" "pathview/pics/Camera_48.png"
@ -82,43 +88,9 @@ set(views_resource_files
"pathview/pics/EMail_48.png" "pathview/pics/EMail_48.png"
"pathview/pics/TodoList_48.png" "pathview/pics/TodoList_48.png"
"pathview/pics/VideoPlayer_48.png" "pathview/pics/VideoPlayer_48.png"
"views.qml"
) )
qt6_add_resources(views "views" install(TARGETS viewsexample
PREFIX
"/views"
FILES
${views_resource_files}
)
set(shared_resource_files
"../shared/Button.qml"
"../shared/CheckBox.qml"
"../shared/FlickrRssModel.qml"
"../shared/Label.qml"
"../shared/LauncherList.qml"
"../shared/SimpleLauncherDelegate.qml"
"../shared/Slider.qml"
"../shared/TabSet.qml"
"../shared/TextField.qml"
"../shared/images/back.png"
"../shared/images/checkmark.png"
"../shared/images/next.png"
"../shared/images/qt-logo.png"
"../shared/images/slider_handle.png"
"../shared/images/tab.png"
)
qt6_add_resources(views "shared"
PREFIX
"/shared"
BASE
"../shared"
FILES
${shared_resource_files}
)
install(TARGETS views
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"

View File

@ -1,6 +1,9 @@
import QmlProject 1.0 import QmlProject 1.0
Project { Project {
mainFile: "slideshow.qml"
importPaths: [ "../../" ]
/* Include .qml, .js, and image files from current directory and subdirectories */ /* Include .qml, .js, and image files from current directory and subdirectories */
QmlFiles { QmlFiles {
directory: "." directory: "."

View File

@ -50,7 +50,7 @@
import QtQuick 2.12 import QtQuick 2.12
import QtQml.Models 2.12 import QtQml.Models 2.12
import "../../shared" as Shared import shared as Shared
Rectangle { Rectangle {
id: root id: root

View File

@ -48,8 +48,8 @@
** **
****************************************************************************/ ****************************************************************************/
import QtQuick 2.0 import QtQuick
import "../shared" as Examples import shared as Examples
Item { Item {
height: 480 height: 480

View File

@ -2,6 +2,7 @@ import QmlProject 1.1
Project { Project {
mainFile: "views.qml" mainFile: "views.qml"
importPaths: [ "../" ]
/* Include .qml, .js, and image files from current directory and subdirectories */ /* Include .qml, .js, and image files from current directory and subdirectories */
QmlFiles { QmlFiles {