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等。
阅读(5071) | 评论(0) | 转发(0) |