Files
scuc-qt-course/docs/teaching/examples/calculator_mainwindow_qss/main.cpp
T
张宗平 05a685c952 Day3 教学示例:增强版计算器接入 + QMainWindow/QSS 两版参考实现
- calculator_designer_ext(Day2 增强版:表达式求值 + 括号,递归下降解析器)接入 cmake
- calculator_mainwindow(Day3 上午):增强版计算器装进 QMainWindow,
  菜单/状态栏/历史停靠窗,纯代码 + 显式 connect,与 mainwindow_showcase 形成坑卡对照
- calculator_mainwindow_qss(Day3 下午):上午版 + QSS 双主题美化(按键分色/伪状态/深浅切换)
- 验证 mainwindow_showcase(QMainWindow 六大组件综合演示,.ui + .qrc)
- OUTLINE_4DAY.md / ASSIGNMENTS.md Day3 衔接增强版起点 + 参考实现指引
- 补提交 Day2 calculator/ 与 calculator_designer/ 参考实现(CMakeLists 已引用)
- 全量构建 28/28,4 目标离屏自测退出码 0

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 22:59:05 +08:00

25 lines
924 B
C++

// ============================================================================
// calculator_mainwindow_qss —— Day3 下午版程序入口(上午版 + QSS 双主题)
// 对应教案 OUTLINE_4DAY.md Day3 下午「布局/控件 + QSS 美化」。
// 与 ../calculator_mainwindow/main.cpp 仅 include 的头不同(本目录自己的),
// 逻辑一致:offscreen 时调 MainWindow::runSelfTest(),按返回值决定退出码。
// ============================================================================
#include <QApplication>
#include <QTimer>
#include "mainwindow.h"
int main(int argc, char* argv[]) {
QApplication app(argc, argv);
MainWindow w;
w.show();
if (qgetenv("QT_QPA_PLATFORM") == "offscreen") {
QTimer::singleShot(0, &w, [&w] {
const bool ok = w.runSelfTest();
QCoreApplication::exit(ok ? 0 : 1);
});
}
return app.exec();
}