QT 程序独立运行时,出现CMD窗口,如何消除

DreamLife.
领域专家: C/C++技术领域
2015-01-14 04:08:14
使用Qt写了一个软件,需要将软件打包,
所以将软件release。将需要的库文件都配置完成后,可以运行,但是显示xindows的cmd窗口
如图
希望大神们给点方法
...全文
6549 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
diwufeiwen 2018-10-19
  • 打赏
  • 举报
回复 1
你这不行,报错else
天涯学馆 2016-06-20
  • 打赏
  • 举报
回复
我用了你的方法 还是不行啊

QT       += core gui

QT       += network

QT       += testlib

CONFIG += release
Win32:CONFIG(debug, debug|release){
    TARGET = debug_binary
}else{
    TARGET = release_binary
}

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
DreamLife. 2015-01-16
  • 打赏
  • 举报
回复
引用 6 楼 dbzhang800 的回复:
[quote=引用 5 楼 z609932088 的回复:] [quote=引用 4 楼 dbzhang800 的回复:] [quote=引用 3 楼 z609932088 的回复:] 我查看了release的mikefile文件 LFLAGS = -Wl,-s -Wl,-subsystem,console -mthreads 我是不是把console 删掉就可以了
你应该找出你为什么启用了 CONFIG += console ,而不是去修改生成的中间文件[/quote] 我的软件全部都是用Qt 写的,没有用到其他的,我看了pro文件,也没有找到CONFIG += console 看网上有一段代码 Win32:CONFIG(debug, debug|release):CONFIG += console,但是也唯有效果[/quote] 把你的pro贴出来看看[/quote] 我自己解决了,我看到的是说如果dubug和release同时存在,只有debug有效 所以我改了config代码 CONFIG += release Win32:CONFIG(debug, debug|release) { TARGET = debug_binary } else { TARGET = release_binary } 就解决了 多谢你给我的意见,我才能去了解Qt的pro文件 附上我的pro全部文件 QT += core gui QT += sql QT += multimedia QT += axcontainer CONFIG += release Win32:CONFIG(debug, debug|release) { TARGET = debug_binary } else { TARGET = release_binary } greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = Butler TEMPLATE = app 后面的就是常见的,有点多,就不贴了
dbzhang800 2015-01-16
  • 打赏
  • 举报
回复
引用 5 楼 z609932088 的回复:
[quote=引用 4 楼 dbzhang800 的回复:] [quote=引用 3 楼 z609932088 的回复:] 我查看了release的mikefile文件 LFLAGS = -Wl,-s -Wl,-subsystem,console -mthreads 我是不是把console 删掉就可以了
你应该找出你为什么启用了 CONFIG += console ,而不是去修改生成的中间文件[/quote] 我的软件全部都是用Qt 写的,没有用到其他的,我看了pro文件,也没有找到CONFIG += console 看网上有一段代码 Win32:CONFIG(debug, debug|release):CONFIG += console,但是也唯有效果[/quote] 把你的pro贴出来看看
DreamLife. 2015-01-16
  • 打赏
  • 举报
回复
引用 4 楼 dbzhang800 的回复:
[quote=引用 3 楼 z609932088 的回复:] 我查看了release的mikefile文件 LFLAGS = -Wl,-s -Wl,-subsystem,console -mthreads 我是不是把console 删掉就可以了
你应该找出你为什么启用了 CONFIG += console ,而不是去修改生成的中间文件[/quote] 我的软件全部都是用Qt 写的,没有用到其他的,我看了pro文件,也没有找到CONFIG += console 看网上有一段代码 Win32:CONFIG(debug, debug|release):CONFIG += console,但是也唯有效果
dbzhang800 2015-01-16
  • 打赏
  • 举报
回复
引用 3 楼 z609932088 的回复:
我查看了release的mikefile文件 LFLAGS = -Wl,-s -Wl,-subsystem,console -mthreads 我是不是把console 删掉就可以了
你应该找出你为什么启用了 CONFIG += console ,而不是去修改生成的中间文件
DreamLife. 2015-01-15
  • 打赏
  • 举报
回复
我查看了release的mikefile文件 LFLAGS = -Wl,-s -Wl,-subsystem,console -mthreads 我是不是把console 删掉就可以了
dbzhang800 2015-01-14
  • 打赏
  • 举报
回复
在Windows下,用其他的编译器 ,比如MinGW,Intel-c++ 或其他的IDE,比如 QtCreator 。结果都是一样:有还是没有cmd窗口,取决于链接的是 windows子系统还是console子系统。 在QtCreator中,在qmake构建系统下, CONFIG += console 用于选择console子系统, 另外使用QtTest模块的话,会选择console子系统(不过这不应该成为问题,毕竟QtTest是测试用的,在正常的程序中是不会使用的)
liuyuanmei 2015-01-14
  • 打赏
  • 举报
回复 1
如果你使用vs工具开发的,那你就选择你的应用程序工程,右击选择属性,在属性窗口中展开“连接”,再选择“系统”,在子系统中选择“Windows (/SUBSYSTEM:WINDOWS)”后保存即可。
打开链接下载源码: https://pan.quark.cn/s/a4b39357ea24 QT框架是由Qt公司设计的一种跨平台C++图形用户界面应用程序开发工具包,该框架被广泛地应用于桌面电脑、移动设备以及嵌入式系统等领域。QTableView作为QT框架中的一个核心组件,其主要功能是用于展示表格形式的数据,并且常常与QAbstractItemModel或QSqlTableModel等模型类协同工作。在QTableView中嵌入自定义组件,例如按钮,能够实现更加多样化的用户交互功能。 在QT框架环境下,若想在QTableView的一列中嵌入两个按钮,我们需要掌握以下几个关键的技术要点: 1. **QTableView**:QTableView是QTableView类的一个实例,它提供了一个二维的表格视图界面,可以用来展示和编辑模型中的数据。QTableView能够显示由QAbstractItemModel子类所提供的数据,例如QStandardItemModel或QAbstractTableModel等。 2. **QTableWidgetItem**:在QTableView中,QTableWidgetItem是构成表格单元格的基本对象,它用于表示表格中每一行每一列的数据。在默认情况下,QTableView仅能展示文本信息,但通过继承QTableWidgetItem并重新绘制,我们可以实现自定义的内容,比如嵌入按钮。 3. **自定义视图项**:若要在单元格内部嵌入两个按钮,我们需要开发一个自定义的QTableWidgetItem子类,该子类中包含两个QPushButton。这个子类需要重写paintEvent()方法以绘制按钮,并且实现必要的信号和槽机制来处理按...

21,498

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧