问题起因
今天在创建Qt设计器界面类时,类名的英文拼写错误,然后就重命名了文件,而Qt Creator也帮我自动修改了一部分内容,之后我手动将cpp
文件中的#include " *** "
里的内容给修改了,构造函数和析构函数处也修改了,但编译后还是报错“invalid use of incomplete type 'class Ui::xxx'ui(new Ui::xxx)”
。
解决方案
虽然Qt Creator帮我们把ui文件的文件名修改了,但文件内部没有改。
但是在Qt Creator里是无法进行编辑的,所以我们直接找到文件所在的位置,记事本打开,直接修改即可。
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Chessboard_ai</class> <!--此处的Class需要修改的和类名一样-->
<widget class="QWidget" name="Chessboard_ai"> <!--此处的name需要修改的和类名一样-->
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
</widget>
<resources/>
<connections/>
</ui>
参考文章:Invalid use of incomplete type 'class Ui::dialog (QT error)