我正在尝试从
开始安装帮助浏览器http://www.walletfox.com/course/qhelpengineexample.php
for Line
tWidget->addTab(helpEngine->contentWidget(), tr("Contents"));
我收到错误消息
no known conversion from QHelpIndexWidget* to QWidget*
确实,如果我用
进行显式铸造tWidget->addTab((QWidget*)helpEngine->contentWidget(), tr("Contents"));
该程序编译并运行良好。这里发生了什么?
您很可能忘记了#include <QHelpIndexWidget>
。
然后编译器无法扣除QHelpIndexWidget
从QWidget
继承。
如果您尝试访问QHelpIndexWidget*
,例如
qDebug() << helpEngine->indexWidget()->objectName();
没有include
,您将获得更好的编译器错误" qhelpindexwidget是不完整的类型"或类似的,这意味着该类型是向前声明的,但无法访问完整的声明。
此外,我建议避免使用C风格的铸件并改用static_cast<TYPE>(var)
。