铸造Qt5 QHelpEngine需要过时的铸造

时间:2017-12-09 08:51:47

标签: qt5

我正在尝试从

开始安装帮助浏览器

http://www.walletfox.com/course/qhelpengineexample.php

对于

str(e)

我收到错误消息

tWidget->addTab(helpEngine->contentWidget(), tr("Contents"));

真的,如果我用

进行明确的演员
no known conversion from QHelpIndexWidget* to QWidget*

程序编译并运行正常。这里发生了什么?

1 个答案:

答案 0 :(得分:0)

很可能你忘了#include <QHelpIndexWidget>

然后,编译器无法推断QHelpIndexWidget继承自QWidget

如果您尝试访问QHelpIndexWidget*,例如

qDebug() << helpEngine->indexWidget()->objectName();

没有include,你会得到更好的编译器错误&#34; QHelpIndexWidget是不完整的类型&#34;或类似的,这意味着该类型是向前声明的,但无法访问完整的声明。

此外,我建议避免使用c-style演员,而是使用static_cast<TYPE>(var)