moc文件问题

咖啡熊猫 2017-08-24 06:04:45

右键转到自动槽的时候发生的问题,请问如何解决。
问题二,自动槽好像注释掉还会存在?比如我的pushbutton原本名字pushbutton_1,现在重命名为pushbuttonNext,编译会提示未定义pushbutton_1的自动槽?
问题三、请问如何手动删除moc文件,网上找了下这个问题,说是重新加入文件,但我好像不行。手动删除moc文件好像可以解决,但我不知道如何手动删除moc文件。
好郁闷,改了两个button的名字让ui找不到cpp文件了,对了,这两个button都是有自动槽的。
菜鸟求教了。。
...全文
420 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
咖啡熊猫 2017-08-28
  • 打赏
  • 举报
回复
引用 2 楼 u011012932 的回复:
改名字的时候把生成的槽函数手动改了不就行了 规则 on_objectName_signalName(...) 手动删除 moc_XXX 不会?找到文件删了就好了,要重新生成,注释掉 Q_OBJECT 编译,然后再打开该宏,再次编译就生成了。
Qt小菜鸟,以后有机会还请多多指教,之前确实不知道moc文件在哪里。
咖啡熊猫 2017-08-28
  • 打赏
  • 举报
回复
引用 3 楼 daizhiyan1 的回复:
[quote=引用 2 楼 u011012932 的回复:] 改名字的时候把生成的槽函数手动改了不就行了 规则 on_objectName_signalName(...) 手动删除 moc_XXX 不会?找到文件删了就好了,要重新生成,注释掉 Q_OBJECT 编译,然后再打开该宏,再次编译就生成了。
自动槽我知道怎么改了,在头文件里的私有槽里有声明,moc文件是在哪里?debug文件里面吗? [/quote] 解决问题了,自问自答并简单总结一下: moc文件当生成的是debug版本时会在相应的debug文件里面,文件名形式是“moc_对应的源文件.cpp”,可以直接删。 好,总结一下自己的问题: 1、贴图的问题是我在其他文件包含了对应的“ui_xxx”头文件,但是没有声明私有的ui变量,由于我其实不需要这个ui头文件,删除,结束,至于再声明ui变量,可能可以,但没试过,但一个ui界面一般一个源文件控制吧? 2、其实遇到问题还是得冷静冷静再冷静,问题的提示要好好分析。 3、在ui文件里转到槽会有如下自动操作:1、在有文件的私有槽里,即private slots里面,自动声明一个形如“on_对应的对象名_触发事件”型的槽,例如on_pushButtonNext_clicked(),在ui文件里面改了这个button的名字这个槽可不会自动改名字,要么手动该,要么在头文件找到这个槽,删了它,重新转到槽。
咖啡熊猫 2017-08-24
  • 打赏
  • 举报
回复
引用 2 楼 u011012932 的回复:
改名字的时候把生成的槽函数手动改了不就行了 规则 on_objectName_signalName(...) 手动删除 moc_XXX 不会?找到文件删了就好了,要重新生成,注释掉 Q_OBJECT 编译,然后再打开该宏,再次编译就生成了。
自动槽我知道怎么改了,在头文件里的私有槽里有声明,moc文件是在哪里?debug文件里面吗?
一去丶二三里 2017-08-24
  • 打赏
  • 举报
回复
改名字的时候把生成的槽函数手动改了不就行了 规则 on_objectName_signalName(...) 手动删除 moc_XXX 不会?找到文件删了就好了,要重新生成,注释掉 Q_OBJECT 编译,然后再打开该宏,再次编译就生成了。

16,175

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧