d3e2e50f0e
- 新增 mainwindow2.{h,cpp,ui}:用 Qt Designer 生成的第二套 QMainWindow 表单
(File/Edit/Help 菜单 + actionOpen/actionAbout_Me),供课堂对比「代码搭界面」
与「Designer 拖界面」两条路线。
- 新增子目录 CMakeLists.txt:供单独打开该示例构建(顶层 add_subdirectory 不递归,
与 lineedit_eye_toggle / mandelbrot_renderer 同模式)。
- mainwindow.ui / mainwindow.qrc:经 Designer 重新保存后的表单与资源清单维护
(iconset 去掉 resource= 显式引用、属性顺序由 Designer 重排)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
52 lines
1.3 KiB
CMake
52 lines
1.3 KiB
CMake
cmake_minimum_required(VERSION 3.5)
|
|
|
|
project(qt_mainwindow_showcase LANGUAGES CXX)
|
|
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
set(CMAKE_AUTOUIC ON)
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTORCC ON)
|
|
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
# QtCreator supports the following variables for Android, which are identical to qmake Android variables.
|
|
# Check http://doc.qt.io/qt-5/deployment-android.html for more information.
|
|
# They need to be set before the find_package(Qt5 ...) call.
|
|
|
|
#if(ANDROID)
|
|
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
|
|
# if (ANDROID_ABI STREQUAL "armeabi-v7a")
|
|
# set(ANDROID_EXTRA_LIBS
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libcrypto.so
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libssl.so)
|
|
# endif()
|
|
#endif()
|
|
|
|
find_package(Qt5 COMPONENTS Widgets REQUIRED)
|
|
|
|
if(ANDROID)
|
|
add_library(qt_mainwindow_showcase
|
|
main.cpp
|
|
mainwindow_showcase.cpp
|
|
mainwindow_showcase.h
|
|
mainwindow2.cpp
|
|
mainwindow2.h
|
|
mainwindow2.ui
|
|
mainwindow.ui
|
|
)
|
|
else()
|
|
add_executable(qt_mainwindow_showcase
|
|
main.cpp
|
|
mainwindow_showcase.cpp
|
|
mainwindow_showcase.h
|
|
mainwindow2.cpp
|
|
mainwindow2.h
|
|
mainwindow2.ui
|
|
mainwindow.ui
|
|
mainwindow.qrc)
|
|
endif()
|
|
|
|
target_link_libraries(qt_mainwindow_showcase PRIVATE Qt5::Widgets)
|