1.头文件<QtGui>变成了<QtWidgets>

相应<QtGui/***>变成了<QtWidgets/***>

2.QTextCodec::setCodecForLocale还在,
但是QTextCodec::setCodecForTr和QTextCodec::setCodecForQStrings没了

QObject::tr("字符串")还能用,QString::QString("字符串")不能用了

最后,Qt疯了

-----main.cpp-----

 #include <QtWidgets/QApplication>
 #include <QtWidgets/QWidget>
 #include <QtGui>
 //#include <QTextCodec>
 //#include <QDebug>
 int main(int argc, char * argv[])
 {
     QApplication app(argc, argv);
 //    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
     QWidget wgt;

 //    wgt.setWindowTitle("上古卷轴5-天际Skyrim");
 //    wgt.setGeometry(200, 200, 300, 100);
     wgt.show();

 //    qDebug("窗体宽度%d 窗体高度%d\n", wgt.width(), wgt.height());
 //    qDebug()<<QObject::tr("窗体几何:")<<wgt.geometry()<<endl;
 //    qDebug()<<QObject::tr("窗体框架几何:")<<wgt.frameGeometry()<<endl;

     app.exec();
     ;
 }

总算想明白了,原来Qt5的工程文件必须加一句:greaterThan(QT_MAJOR_VERSION, 4) QT += widgets

 #--------------------------------------------
 #
 #----------2014.05.06手工编辑-----------------
 #
 #--------------------------------------------
 greaterThan(QT_MAJOR_VERSION, ) QT += widgets
 SOURCES += \
     main.cpp

Qt5使用注意事项:
1.Qt5的工程文件先加一句greaterThan(QT_MAJOR_VERSION, 4) QT += widget或者QT += widgets。
2.Qt5使用头文件的时候<QApplication>和<QtWidgets/QApplication>带不带抬头都行
3.Qt5的头文件<QtWidgets>大致相当于Qt4的<QtGui>
4.为了提高Qt5对Qt4的兼容性
工程文件使用greaterThan(QT_MAJOR_VERSION, 4) QT += widget
头文件使用时不要带抬头“QtWidgets/”

$%^&*最后的最后,不知道为什么,qDebug在Qt5中似乎没有输出。。。

调试模式:

Debugging starts
Debugging has finished

运行模式://”不能获取调试输出“

 Starting D:\work\qt5\build-Qt5Test-Desktop_Qt_5_2_1_MinGW_32bit-Release\release\Qt5Test.exe...
 Cannot retrieve debugging output.
 D:\work\qt5\build-Qt5Test-Desktop_Qt_5_2_1_MinGW_32bit-Release\release\Qt5Test.exe exited with code 

晕了,现在又有调试输出了。

不设置编码的情况下,Qt5运行和调试,控制台、窗体都不乱码

设置本地编码CP-936:QTextCodec::setCodecForLocale(QTextCodec::codecForName("cp936"));,同上

设置本地编码UTF-8,Qt5运行和调试,窗体不乱码,控制台乱码

所以说,Qt5默认已经解决了乱码问题

C/C++ -- Gui编程 -- Qt库的使用 -- Qt5试用的更多相关文章

  1. C/C++ -- Gui编程 -- Qt库的使用 -- Qt5总结

    主要变化: 1.与Qt4相比,Qt5可以直接显示中文不需要手工转码2.Qt5模块发生变化,大部分组件并入widgets模块 注意事项:工程文件加一句greaterThan(QT_MAJOR_VERSI ...

  2. C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数

    MyWidget做父窗体 MyWidget的构造函数中可以手动添加组件 Ui::MyWidget存放子部件 Ui::MyWidget执行setupUi()函数为子部件开辟空间,指定父窗体 MyWidg ...

  3. C/C++ -- Gui编程 -- Qt库的使用 -- 标准对话框

    -----mywidget.cpp----- #include "mywidget.h" #include "ui_mywidget.h" #include & ...

  4. C/C++ -- Gui编程 -- Qt库的使用 -- 信号与槽 -- 欢迎界面

    程序运行先显示一个对话框,确定进入主程序 1.新建Qt工程,类MyWidget,基类QWidget 2.新建设计师界面类MyDialog,基类QDialog 3.-----main.cpp----- ...

  5. C/C++ -- Gui编程 -- Qt库的使用 -- 信号与槽的关联

    Qt信号与槽的三种关联方法:1.设计界面关联,编辑信号/槽,自动关联 2.手动关联(1).头文件中定义槽 -----mywidget.h----- #ifndef MYWIDGET_H #define ...

  6. C/C++ -- Gui编程 -- Qt库的使用 -- 使用小写qDebug调试程序

    qDebug作为printf不需要头文件 qDebug()作为cout要使用头文件<QDebug> -----debug.cpp----- -----debug.cpp----- #inc ...

  7. C/C++ -- Gui编程 -- Qt库的使用 -- Qt窗体的类型状态布局

    -----工程WindowTest----- 1.-----窗体类型type.cpp----- #include <QtGui> int main(int argc, char * arg ...

  8. C/C++ -- Gui编程 -- Qt库的使用 -- 使用自定义类

    1.新建空Qt工程 2.新建C++类HelloQt 3.新建ui文件,添加部件,重命名主窗体(对话框)类名HelloQt,构建生成ui头文件 4.修改头文件helloqt.h #ifndef HELL ...

  9. C/C++ -- Gui编程 -- Qt库的使用 -- 使用.ui文件

    1.创建Qt空工程 2.添加Qt设计师界面,无按钮对话框helloqt.ui 3.编辑界面,添加部件,修改对话框对象名为HelloQt <?xml version="1.0" ...

随机推荐

  1. hdu2571 命运 2016-09-11 16:54 53人阅读 评论(0) 收藏

    命运 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  2. maven镜像

    使用maven管理项目,下载依赖jar包的时候,经常会下载很慢,但是如果使用镜像的话,速度超级快~~只要在.m2/setting.xml文件中设置镜像就可以啦~ 本文来自https://yq.aliy ...

  3. html监听,键盘事件

    <script type="text/javascript" language=JavaScript charset="UTF-8">      v ...

  4. Time&Patience

    “时间和耐心,是世间最强大的两个勇士.” “对未来越有信心,对今天越有耐心,坚持做正确的事.” 每日必做清单 每天六组俯卧撑    活在当下    接收脆弱    一万小时理论(罗马不是一天建成的,胖 ...

  5. Dwz(J-UI)框架--入门

    http://www.cnblogs.com/chenyongsai/p/4933982.html Dwz(J-UI)框架--入门 一.了解 概述:是中国人自己开发的基于jQuery实现的Ajax R ...

  6. QTP之回放模式(ReplayType)

    QTP的回放模式有两种,如下所示: 1.  Event模式  --  事件跟踪 2.  Mouse模式 --   鼠标跟踪 Event模式就是我们平时默认用的模式,也就是事件,其实QTP的click方 ...

  7. DBCC--CHECKDB--不可被替代的原因

    CHECKSUM不能发现的两类问题 1. 发生在内存中的页错误,如内存损坏+第三方程序修改等 2. MS SQL Server潜在BUG导致的逻辑错误,该类错误可以使用重建索引或重建约束来修复 CHE ...

  8. 设计模式之代理模式(Proxy Pattern)_远程代理解析

    一.什么是代理模式? 顾名思义,代理就是第三方,比如明星的经纪人,明星的事务都交给经纪人来处理,明星只要告诉经纪人去做什么,经纪人自然会想办法去做,做完之后再把结果告诉明星就好了 本来是调用者与被调用 ...

  9. asp.net—单例模式

    一.单例模式是什么? 定义:确保一个类仅仅能产生一个实例,并且提供一个全局访问点来获取该实例. 二.单例模式怎么用? class SingleCase { public string Name{get ...

  10. 安装docker ce版

    可参考 菜鸟教程:http://www.runoob.com/docker/centos-docker-install.html 官网教程:https://docs.docker.com/instal ...