讲师中心 微信公众号
AI工具推荐 视频效率加速

Qt Creator怎么新建控制台项目?

夏芳同学_3183

夏芳同学_3183

发布时间:2026-08-08 12:16:26

|

928人浏览过

|

来源于php中文网

原创

Qt Console Application是唯一能直接生成纯命令行Qt项目的模板,必须选择它而非Widgets或Quick模板;需确保.pro含CONFIG += console、套件为桌面版、取消“Run in terminal”以稳定查看输出。

qt creator怎么新建控制台项目?

Qt Console Application 是唯一能直接生成纯命令行 Qt 项目的模板,但它的默认行为和输出方式容易让人误以为“没运行成功”。

选错模板会导致项目根本跑不起来

很多人点进“Application”后随手选了 Qt Widgets ApplicationQt Quick Application,结果编译通过却弹出空白窗口或直接退出——因为这两类项目默认依赖 GUI 模块,而控制台程序不需要、也不该链接 QtGuiQtQuick

  • 必须在新建项目时选择 Qt Console Application(不是“Empty qmake Project”或“Non-Qt Project”)
  • 如果已建错,删掉整个目录重来最省时间;改 .pro 文件强行剥离 GUI 依赖容易引发链接错误
  • QCoreApplication 是控制台项目的基类,它不启动事件循环的 GUI 分支,只处理 QTimerQThreadQTcpSocket 这类非界面任务

main.cpp 里不能写 qDebug()

默认生成的 main.cpp 只有 QCoreApplication app(argc, argv);return app.exec();,但 app.exec() 是阻塞等待事件的——控制台程序通常执行完逻辑就退出,不需要长期运行事件循环。

C++
C++

"空空如也"

下载
  • 简单脚本:把业务逻辑写在 app.exec() 前面,最后用 return 0; 显式退出
  • 需要异步能力(比如发 HTTP 请求、监听 TCP 端口):保留 app.exec(),但得确保有对象保持事件循环活跃(例如 new QTimerstart(),或 new QTcpServer
  • qDebug() 输出默认走 stderr,在 Qt Creator 的“应用程序输出”窗格可见;若勾选了 Run in terminal,则输出会跳到系统终端,此时 qDebug()std::cout 都能打印

构建套件选错,编译直接报“undefined reference to WinMain”

这个错误只出现在 Windows 下,本质是链接器把项目当成了 GUI 子系统程序,却找不到 WinMain 入口。根本原因是构建套件里选了带 Desktop Qt x.x.x MinGW x64 但没注意后缀——有些套件标着 Desktop 实际仍按 GUI 模式配置。

  • 打开 Projects > Build & Run > Build > Kit,确认所选套件的 “Compiler” 是 MinGW 或 MSVC,“Qt version” 是桌面版(非 Android/iOS),且 “Device type” 是 Desktop
  • 检查 .pro 文件里是否有 CONFIG += console —— 这行必须存在,否则 qmake 不会告诉链接器这是控制台子系统
  • 如果用了 CMakeLists.txt 而非 qmake,需确保 project(MyApp CXX) 后加 set(CMAKE_CXX_STANDARD 17)add_executable 不带 WIN32 标志

输出看不到?先关掉“Run in terminal”再查

Qt Creator 默认把控制台程序输出重定向到内部“应用程序输出”面板,但勾选 Run in terminal 后,程序会另起一个黑窗口——而这个窗口在执行完立刻关闭,导致你只看到一闪而过的文字。

  • 临时调试:取消勾选 Projects > Run > Run in terminal,输出就稳稳显示在下方面板
  • 真要弹终端:在 main() 结尾加 system("pause");(Windows)或 system("read -p 'Press enter to continue...'");(Linux/macOS)
  • 更健壮的做法是用 QEventLoop 阻塞,等用户按回车再退出,避免依赖 shell 命令
真正麻烦的不是创建步骤,而是后续调试时发现输出消失、程序秒退、链接失败——这些问题几乎都卡在模板选择、.pro 配置、构建套件三者是否严格匹配上。漏掉任意一环,都会让“Hello World”变成“Hello What?”。

热门AI工具

更多
Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

相关专题

更多
C++ Qt图形开发
C++ Qt图形开发

本专题专注于 C++ Qt框架在图形界面开发中的应用,系统讲解窗口设计、信号与槽机制、界面布局、事件处理、数据库连接与跨平台打包等核心技能,通过多个桌面应用项目实战,帮助学员快速掌握 Qt 框架并独立完成跨平台GUI软件的开发。

3662

2025.08.15

C++桌面程序开发
C++桌面程序开发

本专题聚焦 C++ 在桌面端图形界面应用开发中的实战应用,系统讲解 Qt 框架的信号与槽机制、界面布局管理、事件响应、数据交互、样式美化与多窗口应用设计等核心知识。通过实战案例(如记事本应用、数据管理工具、系统监控面板),帮助学习者掌握 从UI设计到完整桌面软件开发的C++工程化能力。

1114

2025.10.23

C++ 图形界面开发基础(Qt方向)
C++ 图形界面开发基础(Qt方向)

本专题系统讲解 使用 C++ 与 Qt 进行图形界面(GUI)开发的核心技能,内容涵盖 Qt 项目结构、窗口组件、信号与槽机制、事件处理、布局管理、资源管理,以及跨平台编译与打包流程。通过多个小型桌面应用实战案例,帮助学习者掌握从界面设计到功能实现的完整 GUI 开发能力。

1341

2025.12.05

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

20

2026.09.23

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

0

2026.09.23

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

0

2026.09.23

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

0

2026.09.22

Conan二进制包配置指南
Conan二进制包配置指南

本专题介绍Conan根据操作系统、编译器、架构和构建类型生成二进制包的方法,讲解Profile、Settings、Options及Package ID的作用,帮助管理不同平台和编译环境下的包版本。

20

2026.09.22

Conan私有仓库搭建教程
Conan私有仓库搭建教程

本专题系统的讲解Conan私有仓库的搭建流程,涵盖仓库服务部署、存储目录配置、用户认证、权限划分和远程地址添加,并介绍内部C++依赖包的上传、下载及版本维护方法。

20

2026.09.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Qt入门课堂 - Qt Quick Controls
Qt入门课堂 - Qt Quick Controls

共0课时 | 0人学习

Qt Creator 调试文档
Qt Creator 调试文档

共0课时 | 0人学习

Qt Creator 项目创建文档
Qt Creator 项目创建文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn