mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-06 17:25:24 +08:00
qt 6.5.1 original
This commit is contained in:
41
examples/widgets/tools/styleplugin/plugin/CMakeLists.txt
Normal file
41
examples/widgets/tools/styleplugin/plugin/CMakeLists.txt
Normal file
@ -0,0 +1,41 @@
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#! [0]
|
||||
qt_add_plugin(simplestyleplugin
|
||||
CLASS_NAME SimpleStylePlugin
|
||||
simplestyle.cpp simplestyle.h
|
||||
simplestyleplugin.cpp simplestyleplugin.h
|
||||
)
|
||||
#! [0]
|
||||
|
||||
if(QT_FEATURE_debug AND APPLE)
|
||||
set_property(TARGET simplestyleplugin
|
||||
APPEND_STRING PROPERTY OUTPUT_NAME "_debug")
|
||||
endif()
|
||||
|
||||
get_target_property(is_bundle styleplugin MACOSX_BUNDLE)
|
||||
if(APPLE AND is_bundle)
|
||||
#! [1]
|
||||
set_target_properties(simplestyleplugin PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY "$<TARGET_BUNDLE_CONTENT_DIR:styleplugin>/PlugIns/styles"
|
||||
)
|
||||
#! [1]
|
||||
else()
|
||||
#! [2]
|
||||
set_target_properties(simplestyleplugin PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY "$<TARGET_FILE_DIR:styleplugin>/styles"
|
||||
)
|
||||
#! [2]
|
||||
endif()
|
||||
|
||||
target_link_libraries(simplestyleplugin PRIVATE
|
||||
Qt6::Core
|
||||
Qt6::Gui
|
||||
Qt6::Widgets
|
||||
)
|
||||
|
||||
install(TARGETS simplestyleplugin
|
||||
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
|
||||
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
|
||||
)
|
34
examples/widgets/tools/styleplugin/plugin/plugin.pro
Normal file
34
examples/widgets/tools/styleplugin/plugin/plugin.pro
Normal file
@ -0,0 +1,34 @@
|
||||
#! [0]
|
||||
TEMPLATE = lib
|
||||
CONFIG += plugin
|
||||
QT += widgets
|
||||
HEADERS = simplestyle.h \
|
||||
simplestyleplugin.h
|
||||
SOURCES = simplestyle.cpp \
|
||||
simplestyleplugin.cpp
|
||||
TARGET = simplestyleplugin
|
||||
#! [0]
|
||||
win32 {
|
||||
CONFIG(debug, release|debug):DESTDIR = ../debug/styles/
|
||||
CONFIG(release, release|debug):DESTDIR = ../release/styles/
|
||||
} else {
|
||||
macos {
|
||||
# The non-app-bundle case is not supported with qmake, because
|
||||
# the plugin project cannot know whether the app is built
|
||||
# as a bundle or not.
|
||||
DESTDIR = ../styleplugin.app/Contents/PlugIns/styles/
|
||||
contains(QT_CONFIG, debug) {
|
||||
TARGET = $$join(TARGET,,,_debug)
|
||||
}
|
||||
} else {
|
||||
DESTDIR = ../styles/
|
||||
}
|
||||
}
|
||||
|
||||
EXAMPLE_FILES += simplestyle.json
|
||||
|
||||
# install
|
||||
target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/styleplugin/styles
|
||||
INSTALLS += target
|
||||
|
||||
CONFIG += install_ok # Do not cargo-cult this!
|
@ -0,0 +1,9 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
||||
|
||||
#include "simplestyle.h"
|
||||
|
||||
void SimpleStyle::polish(QPalette &palette)
|
||||
{
|
||||
palette.setBrush(QPalette::Text, Qt::red);
|
||||
}
|
19
examples/widgets/tools/styleplugin/plugin/simplestyle.h
Normal file
19
examples/widgets/tools/styleplugin/plugin/simplestyle.h
Normal file
@ -0,0 +1,19 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
||||
|
||||
#ifndef SIMPLESTYLE_H
|
||||
#define SIMPLESTYLE_H
|
||||
|
||||
#include <QProxyStyle>
|
||||
|
||||
class SimpleStyle : public QProxyStyle
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SimpleStyle() = default;
|
||||
|
||||
void polish(QPalette &palette) override;
|
||||
};
|
||||
|
||||
#endif
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"Keys": [ "simplestyle" ]
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
||||
|
||||
#include "simplestyleplugin.h"
|
||||
#include "simplestyle.h"
|
||||
|
||||
//! [0]
|
||||
QStringList SimpleStylePlugin::keys() const
|
||||
{
|
||||
return {"SimpleStyle"};
|
||||
}
|
||||
//! [0]
|
||||
|
||||
//! [1]
|
||||
QStyle *SimpleStylePlugin::create(const QString &key)
|
||||
{
|
||||
if (key.toLower() == "simplestyle")
|
||||
return new SimpleStyle;
|
||||
return nullptr;
|
||||
}
|
||||
//! [1]
|
@ -0,0 +1,23 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
||||
|
||||
#ifndef SIMPLESTYLEPLUGIN_H
|
||||
#define SIMPLESTYLEPLUGIN_H
|
||||
|
||||
#include <QStylePlugin>
|
||||
|
||||
//! [0]
|
||||
class SimpleStylePlugin : public QStylePlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QStyleFactoryInterface" FILE "simplestyle.json")
|
||||
|
||||
public:
|
||||
SimpleStylePlugin() = default;
|
||||
|
||||
QStringList keys() const;
|
||||
QStyle *create(const QString &key) override;
|
||||
};
|
||||
//! [0]
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user