class Widget 里面有个声明 Ui::Widget *ui,这个 ui 是使用 namespace Ui 里的 Widget 类声明的,该类只是简单的继承了 ui_widget.h 里的 Ui_Widget 类(没有添加任何成员).现在就很清楚了,这两个看起来名字一样的 Widget 其实是两个类,一个是 namespace Ui 里的,另一个是 namespace Ui 之外的 Widget 类,namespace 声明的类其实就是个空壳,它的基类功能是将此窗口上的所有控件的声明.实…
Visual Studio下Qt编程中对中文的处理 本文为原创文章,原文地址http://www.cnblogs.com/c4isr/p/qt_develop_in_vs.html Visual Studio(以下简称VS)默认情况下使用GBK(GB2312)作为字符的编码方式,在Windows中默认兼容良好. 但是市面上多数国外软件及Linux软件都只兼容UTF-8 without signature(无DOM类型),在其他软件中打开这些文本会出现乱码. 具体的编码原理可以参考这篇文章http…
由于在windows下的QT编程中,如果涉及到使用微软的API,那么不可避免使用_TCHAR这些类型,因此在网上查了一下,其中一个老外的论坛有人给出了这个转换,因此在这里做一下笔记 : )#ifdef UNICODE #define QStringToTCHAR(x)     (wchar_t*) x.utf16() #define PQStringToTCHAR(x)    (wchar_t*) x->utf16() #define TCHARToQString(x)     QString:…
这两天跟着班级辅导,总有学生感到很疑惑,用ui designer设计出来的ui文件是如何使用的,下面我从一个例子来说明下,希望能对有这样疑惑的同学有帮助. 事实上,现在有了继承设计工具qtcreator,作为开发者再也不用考虑这个问题,因为当你用qtcreator创建一个工程的时候,qtcreator提供的框架已经替我们完成了这个任务. 咱们先从这个程序开始看: 新建一个工程, 在这个工程中用ui designer来设计了这样的一个界面 这是我按ctrl+alt+r运行出来的,如何使这个利用ui…
最近使用QDialog时,按了下Esc键,导致QDialog被关闭,而后续的数据处理出现了问题.原来在QDialog中按下Esc键会默认调用reject()方法而不是closeEvent(QCloseEvent*event)或者其他事件. 处理的方法: (注意:QDialog的close()函数也是会调用reject()函数和关闭函数,若在reject()中直接调用close()也会无法关闭,要先调用hide()) (1)重新实现reject()方法 void TestDialog::rejec…
最近使用QDialog时,按了下Esc键,导致QDialog被关闭,而后续的数据处理出现了问题.原来在QDialog中按下Esc键会默认调用reject()方法而不是closeEvent(QCloseEvent*event)或者其他事件. 处理的方法: (注意:QDialog的close()函数也是会调用reject()函数和关闭函数,若在reject()中直接调用close()也会无法关闭,要先调用hide()) (1)重新实现reject()方法 void TestDialog::rejec…
char * 与 const char *的转换 char *ch1=”hello11″; const char *ch2=”hello22″; ch2 = ch1;//不报错,但有警告 ch1 = (char *)ch2; char 转换为 QString 其实方法有很多中,我用的是: char a=’b'; QString str; str=QString(a); QString 转换为 char 方法也用很多中 QString str=”abc”; char *ch; ch = str.t…
在main.cpp中添加: #include "QTextCodec" QTextCodec *codec = QTextCodec::codecForName("System"); //获取系统编码 QTextCodec::setCodecForLocale(codec); QTextCodec::setCodecForCStrings(codec); QTextCodec::setCodecForTr(codec);…
http://blog.csdn.net/yangxiao_0203/article/details/7422660 转自http://hi.baidu.com/zj41342626/blog/item/3650cd82a381e9b00cf4d2c9.html //QString to wchar_t: const wchar_t * encodedName = reinterpret_cast<const wchar_t *>(fileName.utf16()); //QString to…
http://www.cnblogs.com/JohnShao/archive/2012/07/25/2608561.html     一.安装所需软件            1.   下载安装VS2008:            2.   下载qt-win-opensource-4.7.0-vs2008.exe,并安装.这里我们假设安装在C:\Qt4.7.0下:            3.   下载qt-vs-addin-1.1.7.exe,并安装.            这三个软件安装好后,…