弹窗功能

This commit is contained in:
2026-08-20 23:33:33 +08:00
parent aca98a8b55
commit d7794ce630
7 changed files with 307 additions and 14 deletions
+25 -5
View File
@@ -31,7 +31,7 @@ qt_add_executable(FancyInputQt
src/main.cpp
)
# ============ QML 模块 1:FancyInput.Controls(用户自定义控件) ============
# ============ QML 模块 1:FancyInput.Controls(用户自定义控件,≈ WPF UserControl) ============
# 控件文件放在 src/qml/controls/ 目录下,GLOB 自动收集:
# 以后新增控件只需放 .qml 文件,无需修改本文件。
file(GLOB CONTROLS_QML_FILES CONFIGURE_DEPENDS
@@ -53,20 +53,40 @@ qt_add_qml_module(FancyInputControls
${CONTROLS_QML_FILES}
)
# ============ QML 模块 2:FancyInputQt(App 主界面) ============
# ============ QML 模块 2:FancyInput.Windows(窗口组件,≈ WPF Window) ============
# 窗口文件放在 src/qml/windows/ 目录下,GLOB 自动收集:
# 以后新增窗口只需放 .qml 文件,无需修改本文件。
file(GLOB WINDOWS_QML_FILES CONFIGURE_DEPENDS
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
"src/qml/windows/*.qml"
)
qt_add_qml_module(FancyInputWindows
STATIC # 编译为静态库,链接进 exe
URI FancyInput.Windows
VERSION 1.0
QML_FILES
${WINDOWS_QML_FILES}
DEPENDENCIES
FancyInputControls # 窗口里会用自定义控件
)
# ============ QML 模块 3:FancyInputQt(App 主界面) ============
qt_add_qml_module(FancyInputQt
URI FancyInputQt
VERSION 1.0
QML_FILES
src/qml/Main.qml
src/qml/Main.qml # 主界面内容(Rectangle 根,可可视化编辑)
src/qml/MainWindow.qml # 主窗口包装(Window 根)
DEPENDENCIES
FancyInputControls
FancyInputWindows
)
# ============ 链接 ============
target_link_libraries(FancyInputQt PRIVATE
FancyInputControls # 控件模块(含 QML 资源)
FancyInputControlsplugin # 控件模块的静态插件,必须链接,否则运行时找不到模块
FancyInputWindows # 窗口模块(含 QML 资源)
Qt6::Core Qt6::Gui Qt6::Qml Qt6::Quick Qt6::QuickControls2
)
@@ -94,7 +114,7 @@ if(WIN32)
# 2. 体积优化:删除未使用的 Qt 组件
set(DEPLOY_DIR "${CMAKE_SOURCE_DIR}/bin/${CMAKE_BUILD_TYPE}")
# 2.1 未使用的 QuickControls2 风格(默认只需 Windows/Basic/Fusion)
# 2.1 未使用的 QuickControls2 风格(程序显式锁定 Basic,其余全部可删)
set(UNUSED_STYLES
"${DEPLOY_DIR}/qml/QtQuick/Controls/FluentWinUI3"
"${DEPLOY_DIR}/qml/QtQuick/Controls/Material"