Qt Windows 笔记

该博客记录了Qt在Windows系统下的常见问题及解决办法。包括窗口关闭问题,主窗口定义在栈上时关闭会异常;黑框程序控制台关闭问题,可在设置中调整;还有中文乱码、编译失败问题,可设置编码并添加宏定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qt Windows 笔记

1. 窗口关闭问题

[参考] https://blog.youkuaiyun.com/u012997311/article/details/51283526

GUI在关闭QWidget及其子类窗口时需销毁窗口

  • 如果主窗口定义在堆上:

    MainWindow  *w = new MainWindow ; 
    w->show();

    在子类窗口构造函数中添加 setAttribute(Qt::WA_DeleteOnClose), 可以在窗口关闭时自动销毁窗口。

  • 但是如果主窗口定义在栈上:

    MainWindow w;
    w.show();

    以后, 会在关闭时出现异常,因为当退出main方法时,会自动销毁窗口,而setAttribute方法会使得Qt再次销毁窗口,造成二次delete,产生报错。

2. 黑框程序:控制台关闭问题

  • Qt 自动创建的黑框程序,默认是 run in console, 不需要黑框窗体时,在project->run setting中把这项勾选去掉。
  • 如果遇到程序运行结束后,黑框后台没关闭:Qt 自动创建的程序.pro文件中默认 CONFIG += console, 改成 CONFIG += console release

3. Qt 中文乱码,中文编译失败

[详细解决]: http://liuweilhy.blog.163.com/blog/static/11405670201510901627229/

  • 工具-选项-文本编辑器:选择utf-8编码,utf-8-BOM选择如果是utf-8则添加
  • 在有中文的文件中加入宏定义:
    #if _MSC_VER >= 1600
    #pragma execution_character_set("utf-8")
    #endif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值