【QT相关】类头文件解读、QT编辑模式、读取text文本
Wizard产生的头文件类包含了必须的#include文件、构造函数、析构函数和UI对象:
#include <QMainWindow>
namespace Ui {class Notepad;}
class Notepad : public QMainWindow
{
Q_OBJECT
public:
explicit Notepad(QWidget *parent = );
~Notepad();
private:
Ui::Notepad *ui;
};
解释如下:
行4提供了主应用窗口;
行6声明Notepad类在Ui命名空间内(Ui命名空间是由uic tool产生的、用于所有后缀为.ui的文件对应的UI类的标准命名空间)。
行10包括一个宏定义Q_OBJECT,必须在类定义的第一个,声明这个类是QObject。他也需要从QObject继承。QObject给一般C++类添加几个能力。注意:类名和槽名必须在运行时确定。查询一个槽的参数类型然后驱动他也是可行的。
行15声明构造函数,默认参数parent,值为0表示这个控件没有父控件(是顶层控件)。
行16为虚的析构函数,用于释放在其生命期间该对象获得的所有资源。根据C++命名规则,析构函数和它对应的类名相同,前缀为~。在QObject中,析构函数是虚函数保证了当一个对象以“a pointer-to-base-class”方式删除时,继承类的析构函数可以恰当析构。
行19声明一个成员变量,是指向Notepad类的指针。成员变量和特定类关联,可以访问其所有的成员方法。
QT编辑模式:
- 默认模式F3——控件模式;
- 信号与槽模式F4;
- Buddy编辑模式:帮助label控件正确处理键盘聚焦;
- Tab顺序编辑模式:设置控件接收键盘聚焦顺序。
使用QFile表示Text文本,用QTextStream读取,并用QTextEdit::setPlainText()将其展示在textEdit上:
void loadTextFile() {
QFile inputFile(":/input.txt");
inputFile.open(QIODevice::ReadOnly);
QTextStream in(&inputFile);
QString line = in.readAll();
inputFile.close();
ui->textEdit->setPlainText(line);
//设置cursor
QTextCursor cursor = ui->textEdit->textCursor();
cursor.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor, );
}
上述代码需要包括头文件:
#include <QFile>
#include <QTextStream>
【QT相关】类头文件解读、QT编辑模式、读取text文本的更多相关文章
- 实现C++模板类头文件和实现文件分离的方法
如何实现C++模板类头文件和实现文件分离,这个问题和编译器有关. 引用<<C++primer(第四版)>>里的观点:1)标准C++为编译模板代码定义了两种模型:“包含”模型和“ ...
- EPANET头文件解读系列7——MEMPOOL.H
//EPANET应用程序使用了大量的节点与管段数据,而且每个对象数据又有不同时段的数据,这些数据占用了大量内存,而mempool.h就是一个简单快速的内存分配相关的头文件/*** mempool.h ...
- C++模板类头文件和实现文件分离
http://www.cnblogs.com/lvdongjie/p/4288373.html 如何实现C++模板类头文件和实现文件分离,这个问题和编译器有关. 引用<<C++primer ...
- Qt - 错误总结 - 在自定义类头文件中添加Q_OBJECT 编译时报错(undefined reference to ‘vtable for xxThread)
错误提示:在添加的QThread子类头文件添加Q_OBJECT时,编译程序,出现"undefined reference to 'vtable for xxThread'"错误提示 ...
- qt c++对象头文件如何相互包含
今天在写qt时,遇到了两个类相互包含的问题,类A要用到类B,类B要用到类A. 类A:a.h #ifndef A_H #define A_H #include <b.h> class A { ...
- C++11 多线程相关的头文件
C++11 新标准中引入了四个头文件来支持多线程编程,他们分别是<atomic> ,<thread>,<mutex>,<condition_variable& ...
- EPANET头文件解读系列3——TOOLKIT.H
/******************************************************************** TOOLKIT.H - Prototypes for EPA ...
- [转]VC++的类头文件
本文转自:http://blog.csdn.net/forevertali/article/details/4370602 animal.h //在头文件中包含类的定义及类成员函数的声明 clas ...
- EPANET头文件解读系列6——HASH.H
该文件是EPANET中HASH.C的头文件,下面列出了该文件的源码以及我的中文注释 /* HASH.H**** Header file for Hash Table module HASH.C***/ ...
随机推荐
- C++对象模型4--有重写的单继承
有重写的单继承 派生类中重写了基类的print()函数. //Derived_Overwrite.h #pragma once #include "base.h" class De ...
- 关于LZO和LZOP
LZO 是一个适合实时解压.压缩的压缩库 LZOP 基于LZO库的压缩解压工具 PS:有了压缩解压库LZO,还不能直接操作文件压缩解压,需要LZOP 下载的话直接google吧~~~
- python安装集成包
anaconda, 包含各种科学运算包以及astropy.装完它一劳永逸. https://www.continuum.io/downloads
- wsdl透明解析
1.逐个分析wsdl文件中的元素: <types>:数据类型定义的容器,一般使用 xml schema类型系统. <message>:通信消息的数据结构的抽象化定义,使用< ...
- Maven本地
<localRepository></localRepository>
- File,FileInputStream,FileReader,InputStreamReader,BufferedReader 的使用和区别
1 ) File 类介绍 File 类封装了对用户机器的文件系统进行操作的功能.例如,可以用 File 类获得文件上次修改的时间移动, 或者对文件进行删除.重命名.换句话说,流类关注的是文件内容,而 ...
- IT 名企招聘信息
[搜狗]网页搜索抓取与挖掘组诚聘实习生 工作方向: 抓取架构方向. 职位要求 1.对互联网和搜索引擎技术有浓厚兴趣: 2.熟练使用c .熟悉Linux开发环境.熟悉shell.python.awk等 ...
- [置顶] js综合应用:表格的四则运算
在做调查问卷的过程中,遇到一个表格的统计问题,算是需要些js方面的综合知识,所以记录下来. 在上次完成了基本的求和的基础上,添加了基本的加减乘除四则运算. 基本需求简化后如下: 对应的htm了为: & ...
- Android GPS应用:动态获取位置信息
在上文中,介绍了GPS概念及Android开发GPS应用涉及到的常用类和方法.在本文中,开发一个小应用,实时获取定位信息,包括用户所在的纬度.经度.高度.方向.移动速度等.代码如下: Activity ...
- js如何判断一个对象是不是Array?(转载)
js如何判断一个对象是不是Array? 在开发中,我们经常需要判断某个对象是否为数组类型,在Js中检测对象类型的常见方法都有哪些呢? typeof 操作符 对于Function, String, Nu ...