Qt学习之路学习笔记3

1,文件对方框

创建 file对象,选择打开方式,打开后传递给QTextStream,读取,赋给QText显示,关闭文件。(QTextStream::readAll()直接读取文件所有内容,如果这个文件有 100M,程序会立刻死掉)实际应用中,分段读入怎么处理?

2、事件中的继承自QLabel 的鼠标事件 label->setMouseTracking(true); 设置后才能允许就跟踪,否则需要点击一次,才跟踪。为什么要点击鼠标之后才能在 mouseMoveEvent()函数中显示鼠标坐标值?这是因为 QWidget 中有一个 mouseTracking 属性,该属性用于设置是否追踪鼠标。只有鼠标被追 踪时,mouseMoveEvent()才会发出。如果 mouseTracking 是 false(默认即是),组件 在至少一次鼠标点击之后,才能够被追踪,也就是能够发出 mouseMoveEvent()事件。如 果 mouseTracking 为 true,则 mouseMoveEvent()直接可以被发出。

3、C++之构造函数后面:冒号的作用(对含有对象成员的对象进行初始化,对父类进行初始化)例如 72页中CustomButton::CustomButton(QWidget *parent) : QPushButton(parent)。

4、类里的static cosnt 和 const static成员初始化
这两种写法的作用一样,为了便于记忆,在此值说明一种通用的初始化方法:

 在QT中事件分为系统事件和自定义事件,可以看到QT跟MFC的消息很相似,MFC中消息也分为系统消息和用户自定的消息,下面来说明一下QT中自定义事件的实现方法。

1>自定义一个从QEvent派生的的类如,TestEvent,实现如下:

testEvent.h文件

  1. #ifndef TESTEVENT_H 
  2. #define TESTEVENT_H  
  3. #include <QEvent>  
  4. class TestEvent : public QEvent 
  5. public
  6.     TestEvent(); 
  7.  
  8. public
  9.     static const Type EventType;  // static const  和 const static 同一个意思  Type (类型名)EventType(变量名称)
  10. 方法2:#define ORI_DIS_EVENT QEvent::User+12
  11. }; 
  12.  
  13. #endif // TESTEVENT_H 

testEvent.cpp文件

  1. #include "testevent.h"  
  2. const QEvent::Type TestEvent::EventType = (QEvent::Type)QEvent::registerEventType(QEvent::User+100); //TestEvent::EventType 中的一个成员变量
  3. TestEvent::TestEvent()  : QEvent(EventType) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值