这个现象是vs的bug,在改变完ui界面后会重新生成ui_xxxx.h和moc_xxxx.obj文件。但有的时候会没有重新生成,或者在错误的路径下生成重复的ui_xxxx.h,导致每次用的都是另一个不会更新的ui_xxxx.h。
打开项目所在文件夹,main/x64/Debug可以看到moc_xxxx.obj文件。
打开项目所在文件夹,main/x64/Debug/uic可以看到ui_xxxx.h文件。
解决:只要删除报错显示的ui_xxxx.h和相应的moc_xxxx.obj文件,重新编译即可。