【QT相关】类头文件解读、QT编辑模式、读取text文本
2015-12-28 15:37
453 查看
Wizard产生的头文件类包含了必须的#include文件、构造函数、析构函数和UI对象:
#include <QMainWindow>
namespace Ui {class Notepad;}
class Notepad : public QMainWindow
{
Q_OBJECT
public:
explicit Notepad(QWidget *parent = 0);
~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上:
上述代码需要包括头文件:
#include <QMainWindow>
namespace Ui {class Notepad;}
class Notepad : public QMainWindow
{
Q_OBJECT
public:
explicit Notepad(QWidget *parent = 0);
~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, 1); }
上述代码需要包括头文件:
#include <QFile> #include <QTextStream>
相关文章推荐
- Qt中设定tablewidget的选定范围
- Mac下usb转串口Qt开发
- QT编程应该注意的几点技巧
- Qt学习(13)
- 虚拟机下打开摄像头(Linux ubuntu 2.6.32-122-rtai+QT+opencv)
- 【QT相关】QT+opencv环境配置
- Qt 对话框的使用
- QT连接Oracle数据库配置文档
- Qt浅谈之三:内置标准对话框
- arm qt-4.5.0更换为qt4.8.5
- Qt学习——控件Widgets
- Qt入门(4)——Qt常见控件
- qt控件的使用
- QT系列教程
- 使用Qt编写模块化插件式应用程序
- 使用VS2013_X68;PCL1.7.2;QT5;VTK6.2实现qt显示PCL
- Qt之文件操作
- Qt学习 之 Socket通信
- Qt QStirng 的使用
- 转载: Qt 学习之路 2归档