您的位置:首页 > 编程语言 > Qt开发

实习8.29-----QT学习笔记

2013-08-29 23:50 274 查看
1.QT的坐标系统默认是左上角为(0,0),向右向下为正方向。

2. Qpainter是一个状态机,因此在前面设置为antialiasing,之后都会默认为这个。

3.抗锯齿antialiasing,就是在物体颜色的边缘采用两个颜色的平均色来填充。我们经常需要对每个点进行子采样,以四个点为例子,若采用正交排列采样,则如下图:


 


当我们对下面的红线进行采样时,线条的颜色如右边图片的效果显示。

但是若 我们对采样点的位置进行旋转变换时,如下图





得到的采样颜色如右边,有更多的中间色,比正交有更好的采样效果。但是采样点的旋转角度要和线条的角度保持一定的角度。

4.对于所有定义的signal和slot,Q_OBJECT宏都是必需的。

5.QT中tr()函数的作用----在tr中的字符将会根据不同的翻译包翻译成不同类型的文字,而Qstring不会。在assistant文档中,tr的说明是

QString QObject ::tr(const char *sourceText, const char *disambiguation =0,int n=-1 )  [static]

其中disambiguation是为了消除歧义,一个词往往有很多的意思,而n则是用来消除单复数。如果我不告诉tr用说明方式编码,它会默认为latin1,而你可以用这种方式告诉系统你用的是什么编码方式        

QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312")); 

tr的本质是调用函数translate,QCoreApplication的translate

QString QCoreApplication::translate ( const char * context, const char * sourceText, const char * disambiguation,
 Encoding encoding, int n )

6.对于系统的connect对于signal和slot解释更加直观:接受与发送的关系


bool QObject::connect ( const QObject * sender,const
char * signal,const QObject * receiver,const char * method,Qt::ConnectionType type =Qt::AutoConnection)   [static]

signal和slot不仅仅局限于图形界面编程,它是对C++的扩展,QT通过moc工具来完成对Q_OBJECT的解析,并用C++函数来提供信息。

7.在finddialog中,尽管有new,但是不需要所有都去delete,因为在QT中,会在删除父对象的时候自动删除其所属的子对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  QT