Qt中间头文件也必须包含

5091阅读 0评论2012-09-12 baifengxian
分类:C/C++

               Qt中间头文件也必须包含
 
    最近一直在学习Qt,发现一个问题:如果我使用连续引用的方式,比如“object.Value.fun()->funcition()”,则中间Value.fun()返回值类型所在的头文件也必须包含进来,否则会出现编译错误。
    我在一个工程中有这样一句调用:
    QTextEdit * pText = new QTextEdit();
    QTextCursor cursor = pText->textCursor();
    QTextListFormat listFmt = cursor.currentList()->format();
    因为没有包含头文件“QTextList”,所以编译时第三句就会出现如下错误:
 error C2027: 使用了未定义类型“QTextList”
1>          c:\qt\4.8.2\include\qtgui\../../src/gui/text/qtextcursor.h(65) : 参见“QTextList”的声明
    加上头文件即可解决。
 
    我为什么会出现这样的错误:我在学习Qt期间包含头文件都是用到那个然后就包含那个,而不是一概而论的去包含上一级的大类,比如QtGui。这样做的好处是能够更清楚每个类是属于那个模块的。比如QFont属于QtGui,QSize属于QtCore等。
上一篇:QWidget、QMainWindow、QDialog区别
下一篇:【实例】Qt之文本编辑(一)