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" ...
随机推荐
- C语言中union关键字
union 关键字的用法与struct 的用法非常类似. union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间 ...
- osgearth
https://max.book118.com/html/2018/0521/167783983.shtm https://baike.1688.com/doc/view-d36134276.html
- oracl中的大数据类型clob
建表 create table test_name( test_id number(6) not null, img_data clob ); 在java中该表所对应的po为: class Tes ...
- HDU 3455 Leap Frog 2016-09-12 16:34 43人阅读 评论(0) 收藏
Leap Frog Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- B-tree B+tree适合文件系统索引和MySQL索引
B-树 B-树,这里的 B 表示 balance( 平衡的意思),B-树是一种多路自平衡的搜索树 它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点.下图是 B-树的简化图. B-树 ...
- Date日期操作
获取年月日时分秒: package com.util; import java.text.DateFormat; import java.util.Calendar; import java.util ...
- Delphi事件的广播 转
http://blog.sina.com.cn/s/blog_44fa172f0102wgs2.html 原文地址:Delphi事件的广播 转作者:MondaySoftware 明天就是五一节了,辛苦 ...
- 【转】【译】在 Windows 10 应用程序中注册任意依赖属性的改变
原文地址:http://visuallylocated.com/post/2015/04/01/Registering-to-any-DependencyProperty-changing-in-Wi ...
- Sending Email In .NET Core 2.0
Consider the following written in .NET Core 2.0. SmtpClient client = ) { UseDefaultCredentials = tru ...
- Spring Boot 2 实践记录之 Powermock 和 SpringBootTest
由于要代码中使用了 Date 类生成实时时间,单元测试中需要 Mock Date 的构造方法,以预设其行为,这就要使用到 PowerMock 在 Spring Boot 的测试套件中,需要添加 @Ru ...