C/C++ -- Gui编程 -- Qt库的使用 -- Qt5试用
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试用的更多相关文章
- C/C++ -- Gui编程 -- Qt库的使用 -- Qt5总结
主要变化: 1.与Qt4相比,Qt5可以直接显示中文不需要手工转码2.Qt5模块发生变化,大部分组件并入widgets模块 注意事项:工程文件加一句greaterThan(QT_MAJOR_VERSI ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数
MyWidget做父窗体 MyWidget的构造函数中可以手动添加组件 Ui::MyWidget存放子部件 Ui::MyWidget执行setupUi()函数为子部件开辟空间,指定父窗体 MyWidg ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 标准对话框
-----mywidget.cpp----- #include "mywidget.h" #include "ui_mywidget.h" #include & ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 信号与槽 -- 欢迎界面
程序运行先显示一个对话框,确定进入主程序 1.新建Qt工程,类MyWidget,基类QWidget 2.新建设计师界面类MyDialog,基类QDialog 3.-----main.cpp----- ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 信号与槽的关联
Qt信号与槽的三种关联方法:1.设计界面关联,编辑信号/槽,自动关联 2.手动关联(1).头文件中定义槽 -----mywidget.h----- #ifndef MYWIDGET_H #define ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 使用小写qDebug调试程序
qDebug作为printf不需要头文件 qDebug()作为cout要使用头文件<QDebug> -----debug.cpp----- -----debug.cpp----- #inc ...
- C/C++ -- Gui编程 -- Qt库的使用 -- Qt窗体的类型状态布局
-----工程WindowTest----- 1.-----窗体类型type.cpp----- #include <QtGui> int main(int argc, char * arg ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 使用自定义类
1.新建空Qt工程 2.新建C++类HelloQt 3.新建ui文件,添加部件,重命名主窗体(对话框)类名HelloQt,构建生成ui头文件 4.修改头文件helloqt.h #ifndef HELL ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 使用.ui文件
1.创建Qt空工程 2.添加Qt设计师界面,无按钮对话框helloqt.ui 3.编辑界面,添加部件,修改对话框对象名为HelloQt <?xml version="1.0" ...
随机推荐
- 使用process_monitor.sh监控hadoop进程的crontab配置
可以从下列链接找到process_monitor.sh:https://github.com/eyjian/libmooon/blob/master/shell/process_monitor.sh ...
- hdu1002 A + B Problem II(高精度加法) 2016-05-19 12:00 106人阅读 评论(0) 收藏
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Difference between the Bill of distribution and sourcing rule.
https://forums.oracle.com/thread/936768 This is from a users guide Oracle Supply Chain Planning ...
- NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(转载)
原文地址:http://www.cnblogs.com/asxinyu/p/dotnet_Opensource_project_FluentValidation_1.html 阅读目录 1.基本介绍 ...
- Ubuntu14.04下Pycharm3.4 字体渲染
在ubuntu下搭建了django的开发环境,搭建过程十分简单,Pycharm的安装更简单,下载tar包解压并执行bin目录下的脚本即可,但是看着那个字体真心不爽.于是开始搜索调教. 1.安装打了渲染 ...
- N个不同球取出M个的组合个数求解
Technorati 标签: 组合,概率 从N个不同的球中取出M个,一共有多少种取法? 这个问题是组合数据的基本问题,考虑拿出球是否放回,拿出去的球是否有序,它有4种变体: 不放回,有序: 不放回,无 ...
- Visual Studio 6 (VC6)连接Team Foundation Server (TFS 2018),实现源代码的版本管理
1. 概述 Visual Studio 6(VB6, VC6, Foxpro-)是微软公司在1998年推出的一款基于Windows平台的软件开发工具,也是微软推出.NET开发框架之前的最后一个IDE工 ...
- TFS应用层服务器获取F5用户的真实IP地址(高可用性)
当用户数量达到一定级别(例如2千)以上,为保证TFS系统的持续服务,最大程度减少因系统宕机对研发团队的影响,系统管理员一般会考虑应用层和数据库层的高可用性方案. 在应用层的高可用性方案中,目前比较常见 ...
- .net core 读取本地指定目录下的文件
项目需求 asp.net core 读取log目录下的.log文件,.log文件的内容如下: xxx.log ------------------------------------------beg ...
- [Xamarin]我的Xamarin填坑之旅(二)
上一篇交代了我Xamarin填坑的背景,大概聊了聊第一步环境配置,第二步创建项目和开发框架选择.如果有一个可用的梯子,这部分基本不会出错. 接下来就具体聊一聊写代码的过程中遇到的一些事儿. 第三步是码 ...