Skip to content

Commit b9413ba

Browse files
committed
[项目重构与构建系统优化]: 对项目结构进行了重构,并优化了构建系统,提升了项目的可维护性和构建效率。
- 更新了 `BatteryQuick` 项目的 `.pro` 文件,更改了资源文件的前缀路径。 - 在 `CMakeLists.txt` 中更新了 Qt 的版本要求,并调整了安装路径规则。 - 对 `main.cc` 文件进行了修改,更新了 QML 文件的资源路径。 - 在多个源文件中用 `std::as_const` 替换了 `qAsConst`,以提供更清晰的常量视图。 - 更新了 `LogAsynchronous` 项目的 `.pro` 文件,统一了 Qt 模块的包含,并更新了 C++ 标准至 C++17。 - 重命名了多个示例项目的目录和文件,以保持一致的命名规范。 - 更新了 `README.md` 文件,改进了文档结构,并更新了图片展示方式。 - 删除了 Ubuntu 打包脚本中的旧 DEBIAN 目录和相关脚本,并更新了构建脚本。 - 重写了 macOS 打包脚本,增加了新的 `distribution.xml`、`dmg.json` 和其他资源文件。 - 更新了 Windows 打包脚本,删除了旧的 Inno Setup 脚本,并提供了新的签名脚本。 [依赖管理与安全性增强]: 改进了项目的依赖管理,并增强了软件的安全性。 - 在 `3rdparty.pri` 文件中更新了库依赖,移除了对某些静态库的依赖,并增加了动态库的链接。 - 更新了 Qt 版本,以确保使用最新的安全修复和功能改进。 [跨平台支持与兼容性改进]: 加强了项目的跨平台支持,并改进了与不同操作系统的兼容性。 - 对 macOS、Ubuntu 和 Windows 的打包脚本进行了更新,确保软件在不同平台上都能正确构建和打包。 - 针对 macOS 系统,更新了 `build.py` 脚本,使用 `appdmg` 工具创建 DMG 镜像。 - 对 Windows 系统,提供了新的签名脚本,以增强安装包的安全性。 [示例项目与文档更新]: 更新了示例项目,并改进了相关文档,提升了用户体验和易用性。 - 更新了多个示例项目的源代码,以展示 Qt 的最新特性和最佳实践。 - 改进了 `README.md` 中的文档结构,使得文档更加清晰易懂,并更新了示例图片。
1 parent 259b83a commit b9413ba

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+437
-535
lines changed

BatteryQuick/BatteryQuick.pro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ SOURCES += \
44
main.cc
55

66
resources.files = Main.qml
7-
resources.prefix = /qml
7+
resources.prefix = /qt/qml/BatteryQuickResources
88
RESOURCES += resources
99

1010
# Additional import path used to resolve QML modules in Qt Creator's code model

BatteryQuick/CMakeLists.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ qt_add_executable(BatteryQuick main.cc)
33
qt_add_qml_module(
44
BatteryQuick
55
URI
6-
qml
6+
BatteryQuickResources
77
VERSION
88
1.0
99
QML_FILES
@@ -23,3 +23,10 @@ set_target_properties(
2323
WIN32_EXECUTABLE TRUE)
2424

2525
target_link_libraries(BatteryQuick PRIVATE Qt6::Quick)
26+
27+
include(GNUInstallDirs)
28+
install(
29+
TARGETS BatteryQuick
30+
BUNDLE DESTINATION .
31+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
32+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

BatteryQuick/main.cc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@ auto main(int argc, char *argv[]) -> int
66
QGuiApplication app(argc, argv);
77

88
QQmlApplicationEngine engine;
9-
const QUrl url(u"qrc:/qml/Main.qml"_qs);
9+
const QUrl url(QStringLiteral("qrc:/qt/qml/BatteryQuickResources/Main.qml"));
1010
QObject::connect(
1111
&engine,
1212
&QQmlApplicationEngine::objectCreated,
1313
&app,
1414
[url](QObject *obj, const QUrl &objUrl) {
15-
if ((obj == nullptr) && url == objUrl) {
15+
if (!obj && url == objUrl)
1616
QCoreApplication::exit(-1);
17-
}
1817
},
1918
Qt::QueuedConnection);
2019
engine.load(url);

BubbleWindow/bubblewidget.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@ void BubbleWidget::exec()
137137

138138
void BubbleWidget::paintEvent(QPaintEvent *event)
139139
{
140+
Q_UNUSED(event)
141+
140142
QPainter painter(this);
141143
painter.setRenderHint(QPainter::Antialiasing);
142144
painter.setPen(d_ptr->pen);

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ project(
1212
include(cmake/common.cmake)
1313

1414
find_package(
15-
Qt6 REQUIRED
15+
Qt6 6.5 REQUIRED
1616
COMPONENTS Core
1717
Widgets
1818
Charts
@@ -21,8 +21,8 @@ find_package(
2121
Sql
2222
Quick)
2323

24-
qt_standard_project_setup(I18N_SOURCE_LANGUAGE en I18N_TRANSLATED_LANGUAGES
25-
zh_CN)
24+
qt_standard_project_setup(REQUIRES 6.5)
25+
qt_policy(SET QTP0001 NEW)
2626
# qt_standard_project_setup will set CMAKE_RUNTIME_OUTPUT_DIRECTORY, we need to
2727
# set it back, and use EXECUTABLE_OUTPUT_PATH
2828
unset(CMAKE_RUNTIME_OUTPUT_DIRECTORY)

Chart/datetimechart.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class DateTimeChart::DateTimeChartPrivate
2222
PointList pointList = generateRandomDataPoints(5, 101);
2323
int year = 2020;
2424
int mouth = 1;
25-
for (const QPointF &p : qAsConst(pointList)) {
25+
for (const QPointF &p : std::as_const(pointList)) {
2626
QDateTime momentInTime(QDate(year, mouth, 15), QTime());
2727
scatterSeries->append(momentInTime.toMSecsSinceEpoch(), p.y());
2828
lineSeries->append(momentInTime.toMSecsSinceEpoch(), p.y());

FlowLayout/flowlayout.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ auto FlowLayout::sizeHint() const -> QSize
160160
auto FlowLayout::minimumSize() const -> QSize
161161
{
162162
QSize size;
163-
for (const QLayoutItem *item : qAsConst(itemList))
163+
for (const QLayoutItem *item : std::as_const(itemList))
164164
size = size.expandedTo(item->minimumSize());
165165

166166
const QMargins margins = contentsMargins();
@@ -181,7 +181,7 @@ auto FlowLayout::doLayout(const QRect &rect, bool testOnly) const -> int
181181
//! [9]
182182

183183
//! [10]
184-
for (QLayoutItem *item : qAsConst(itemList)) {
184+
for (QLayoutItem *item : std::as_const(itemList)) {
185185
const QWidget *wid = item->widget();
186186
int spaceX = horizontalSpacing();
187187
if (spaceX == -1)

FlowLayout/flowwidget.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ void FlowWidget::setItems(const QStringList &list)
5959
QList<LabelWidget *> widgets = findChildren<LabelWidget *>();
6060
qDeleteAll(widgets);
6161

62-
for (const QString &text : qAsConst(list)) {
62+
for (const QString &text : std::as_const(list)) {
6363
addItem(text);
6464
}
6565
}
@@ -75,7 +75,7 @@ QStringList FlowWidget::items() const
7575
{
7676
QStringList list;
7777
QList<LabelWidget *> widgets = findChildren<LabelWidget *>();
78-
for (LabelWidget *widget : qAsConst(widgets)) {
78+
for (LabelWidget *widget : std::as_const(widgets)) {
7979
list.append(widget->text());
8080
}
8181
return list;

GridViewModel/mainwindow.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ void MainWindow::setupUI()
2020

2121
m_imageVector.clear();
2222
auto colorNames = QColor::colorNames();
23-
for (const QString &colorName : qAsConst(colorNames)) {
23+
for (const QString &colorName : std::as_const(colorNames)) {
2424
QImage image(WIDTH, WIDTH, QImage::Format_ARGB32);
2525
image.fill(Qt::transparent);
2626
QPainter painter(&image);

ImageCarousel/imagecarousel.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ auto ImageCarousel::addImage(const QString &filename) -> bool
5757
auto ImageCarousel::addImages(const QStringList &filenames) -> int
5858
{
5959
int count = 0;
60-
for (const auto &filename : qAsConst(filenames)) {
60+
for (const auto &filename : std::as_const(filenames)) {
6161
if (addImage(filename)) {
6262
++count;
6363
}
@@ -67,7 +67,7 @@ auto ImageCarousel::addImages(const QStringList &filenames) -> int
6767

6868
void ImageCarousel::clearImages()
6969
{
70-
for (auto item : qAsConst(d_ptr->items)) {
70+
for (auto item : std::as_const(d_ptr->items)) {
7171
scene()->removeItem(item);
7272
delete item;
7373
}

0 commit comments

Comments
 (0)