Example: remove map example
This example only demonstrates the use of blockingMapped. Considering that the QtConcurrent::mapped~ functions are already included in the wordcount example, and have very similar APIs to the QtConcurrent::filter~ functions, which are included in the progressdialog example, this no longer serves a useful purpose. Task-number: QTBUG-111165 Pick-to: 6.5 6.5.0 Change-Id: Ibc526e1a9fb17070e376e45151e9c2bdbc69bd32 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
This commit is contained in:
parent
b5e9d41895
commit
fbb470b40b
@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2022 The Qt Company Ltd.
|
# Copyright (C) 2023 The Qt Company Ltd.
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
if(NOT TARGET Qt6::Concurrent)
|
if(NOT TARGET Qt6::Concurrent)
|
||||||
@ -10,6 +10,3 @@ if(TARGET Qt6::Widgets)
|
|||||||
qt_internal_add_example(runfunction)
|
qt_internal_add_example(runfunction)
|
||||||
qt_internal_add_example(wordcount)
|
qt_internal_add_example(wordcount)
|
||||||
endif()
|
endif()
|
||||||
if(TARGET Qt6::Gui)
|
|
||||||
qt_internal_add_example(map)
|
|
||||||
endif()
|
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
# Copyright (C) 2022 The Qt Company Ltd.
|
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.16)
|
|
||||||
project(mapdemo LANGUAGES CXX)
|
|
||||||
|
|
||||||
if(NOT DEFINED INSTALL_EXAMPLESDIR)
|
|
||||||
set(INSTALL_EXAMPLESDIR "examples")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/qtconcurrent/map")
|
|
||||||
|
|
||||||
find_package(Qt6 REQUIRED COMPONENTS Concurrent Core Gui)
|
|
||||||
|
|
||||||
qt_standard_project_setup()
|
|
||||||
|
|
||||||
qt_add_executable(mapdemo
|
|
||||||
main.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(mapdemo PRIVATE
|
|
||||||
Qt6::Concurrent
|
|
||||||
Qt6::Core
|
|
||||||
Qt6::Gui
|
|
||||||
)
|
|
||||||
|
|
||||||
install(TARGETS mapdemo
|
|
||||||
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
|
|
||||||
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
|
|
||||||
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
|
|
||||||
)
|
|
@ -1,14 +0,0 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\example map
|
|
||||||
\title Map Example
|
|
||||||
\brief Demonstrates how to scale images synchronously.
|
|
||||||
\ingroup qtconcurrentexamples
|
|
||||||
|
|
||||||
The QtConcurrent Map example shows how to use the synchronous (blocking)
|
|
||||||
QtConcurrent API to scale a collection of images.
|
|
||||||
|
|
||||||
This is a command-line application.
|
|
||||||
*/
|
|
@ -1,35 +0,0 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
||||||
|
|
||||||
#include <QImage>
|
|
||||||
#include <QList>
|
|
||||||
#include <QThread>
|
|
||||||
#include <QDebug>
|
|
||||||
#include <QGuiApplication>
|
|
||||||
#include <qtconcurrentmap.h>
|
|
||||||
|
|
||||||
#include <functional>
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
QGuiApplication app(argc, argv);
|
|
||||||
|
|
||||||
const int imageCount = 20;
|
|
||||||
|
|
||||||
// Create a list containing imageCount images.
|
|
||||||
QList<QImage> images;
|
|
||||||
for (int i = 0; i < imageCount; ++i)
|
|
||||||
images.append(QImage(1600, 1200, QImage::Format_ARGB32_Premultiplied));
|
|
||||||
|
|
||||||
std::function<QImage(const QImage&)> scale = [](const QImage &image) -> QImage
|
|
||||||
{
|
|
||||||
qDebug() << "Scaling image in thread" << QThread::currentThread();
|
|
||||||
return image.scaled(QSize(100, 100), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
|
|
||||||
};
|
|
||||||
|
|
||||||
// Use QtConcurrentBlocking::mapped to apply the scale function to all the
|
|
||||||
// images in the list.
|
|
||||||
QList<QImage> thumbnails = QtConcurrent::blockingMapped(images, scale);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
TEMPLATE = app
|
|
||||||
TARGET = mapdemo
|
|
||||||
QT += concurrent
|
|
||||||
CONFIG += cmdline
|
|
||||||
|
|
||||||
SOURCES += main.cpp
|
|
||||||
|
|
||||||
target.path = $$[QT_INSTALL_EXAMPLES]/qtconcurrent/map
|
|
||||||
INSTALLS += target
|
|
@ -2,17 +2,10 @@ requires(qtHaveModule(concurrent))
|
|||||||
|
|
||||||
TEMPLATE = subdirs
|
TEMPLATE = subdirs
|
||||||
SUBDIRS = imagescaling \
|
SUBDIRS = imagescaling \
|
||||||
map \
|
|
||||||
progressdialog \
|
progressdialog \
|
||||||
runfunction \
|
runfunction \
|
||||||
wordcount
|
wordcount
|
||||||
|
|
||||||
|
|
||||||
!qtHaveModule(gui) {
|
|
||||||
SUBDIRS -= \
|
|
||||||
map
|
|
||||||
}
|
|
||||||
|
|
||||||
!qtHaveModule(widgets) {
|
!qtHaveModule(widgets) {
|
||||||
SUBDIRS -= \
|
SUBDIRS -= \
|
||||||
imagescaling \
|
imagescaling \
|
||||||
|
Loading…
Reference in New Issue
Block a user