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" ...
随机推荐
- hdu2571 命运 2016-09-11 16:54 53人阅读 评论(0) 收藏
命运 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- maven镜像
使用maven管理项目,下载依赖jar包的时候,经常会下载很慢,但是如果使用镜像的话,速度超级快~~只要在.m2/setting.xml文件中设置镜像就可以啦~ 本文来自https://yq.aliy ...
- html监听,键盘事件
<script type="text/javascript" language=JavaScript charset="UTF-8"> v ...
- Time&Patience
“时间和耐心,是世间最强大的两个勇士.” “对未来越有信心,对今天越有耐心,坚持做正确的事.” 每日必做清单 每天六组俯卧撑 活在当下 接收脆弱 一万小时理论(罗马不是一天建成的,胖 ...
- Dwz(J-UI)框架--入门
http://www.cnblogs.com/chenyongsai/p/4933982.html Dwz(J-UI)框架--入门 一.了解 概述:是中国人自己开发的基于jQuery实现的Ajax R ...
- QTP之回放模式(ReplayType)
QTP的回放模式有两种,如下所示: 1. Event模式 -- 事件跟踪 2. Mouse模式 -- 鼠标跟踪 Event模式就是我们平时默认用的模式,也就是事件,其实QTP的click方 ...
- DBCC--CHECKDB--不可被替代的原因
CHECKSUM不能发现的两类问题 1. 发生在内存中的页错误,如内存损坏+第三方程序修改等 2. MS SQL Server潜在BUG导致的逻辑错误,该类错误可以使用重建索引或重建约束来修复 CHE ...
- 设计模式之代理模式(Proxy Pattern)_远程代理解析
一.什么是代理模式? 顾名思义,代理就是第三方,比如明星的经纪人,明星的事务都交给经纪人来处理,明星只要告诉经纪人去做什么,经纪人自然会想办法去做,做完之后再把结果告诉明星就好了 本来是调用者与被调用 ...
- asp.net—单例模式
一.单例模式是什么? 定义:确保一个类仅仅能产生一个实例,并且提供一个全局访问点来获取该实例. 二.单例模式怎么用? class SingleCase { public string Name{get ...
- 安装docker ce版
可参考 菜鸟教程:http://www.runoob.com/docker/centos-docker-install.html 官网教程:https://docs.docker.com/instal ...