原
Qt5.7中编译报错:“invalid use of incomplete type 'class Ui::xxx'ui(new Ui::xxx)”的解决方法
2018年05月30日 21:46:30
南洋布衣
阅读数:3878
</div>
<div class="operating">
</div>
</div>
</div>
</div>
<article class="baidu_pl">
<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post">
<div class="article-copyright">
<svg class="icon" title="CSDN认证原创" aria-hidden="true" style="width:53px; height: 18px; vertical-align: -4px;">
<use xlink:href="#CSDN_Cert"></use>
</svg>
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Green_Hand_in_IT/article/details/80516599 </div>
<div id="content_views" class="markdown_views prism-atom-one-dark">
<!-- flowchart 箭头图标 勿删 -->
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg>
<p>在Qt中编程一个比较大的项目工程的时候,难免会遇到需要将原来的.h文件或.<a href="https://www.baidu.com/s?wd=cpp&tn=24004469_oem_dg&rsv_dl=gh_pl_sl_csd" target="_blank">cpp</a>文件的名字进行更改。比如我将dialog的文件名全部更改为win后,编译出现了错误。 <br>
我将dialog的h文件以及cpp文件中所有的dialog关键字全部改为了win,包括ui文件名也进行了更改,编译的结果是“error: invalid use of incomplete type ‘class Ui::win’ ui(new Ui::win)”。错误的大概意思是指ui:win无效使用,没有完成的类型。 解决方法是在其对应的ui文件中,整个界面 的ObjectName没有进行更改,打开其对应的ui文件,将其ObjectName更改即可。ObjectName即是在Designer界面下,选中控件后右边属性框的前列,修改名称后,重新编译,发现编译成功。