C 自动生成gtk回调函数

C 自动生成gtk回调函数,c,gtk,glade,boilerplate,C,Gtk,Glade,Boilerplate,我刚开始在Slackware 14.2上使用Glade 3.8.5。我已经成功地创建了一个简单的窗口,其中包含一个用于“destroy”信号的回调处理程序。这对于一个小而简单的教程来说是很好的。但是,手动实现所有回调函数可能会很繁琐。如果GUI稍微复杂一点,我甚至可能会忘记一些。有没有工具可以自动为c中的回调函数生成一个框架?我无法通过websearch找到任何内容,也不确定要搜索哪些标记。不确定我是否理解您所说的“手动实现所有回调函数”的含义。实现是回调函数的内容,编写它是您的工作,因为您是唯

我刚开始在Slackware 14.2上使用Glade 3.8.5。我已经成功地创建了一个简单的窗口,其中包含一个用于“destroy”信号的回调处理程序。这对于一个小而简单的教程来说是很好的。但是,手动实现所有回调函数可能会很繁琐。如果GUI稍微复杂一点,我甚至可能会忘记一些。有没有工具可以自动为c中的回调函数生成一个框架?我无法通过websearch找到任何内容,也不确定要搜索哪些标记。

不确定我是否理解您所说的“手动实现所有回调函数”的含义。实现是回调函数的内容,编写它是您的工作,因为您是唯一知道您要实现什么的人

如果GUI稍微复杂一点,我甚至可能会忘记一些

每个小部件都有很多很多信号。Glade帮助您设计UI,但您只需要实现那些默认组件不适合您尝试实现的UI


现在如果说“手动实现所有回调函数”,你的意思是“手动编写回调框架”,那么在过去的某个时候glade有一些代码生成功能,但是已经(正确地)删除了。这是因为修改生成的代码很难维护。编写该框架只需复制/粘贴文档中的信号签名,并为回调函数命名。

Anjuta确实内置了Glade。我最近刚刚决定使用Anjuta和GTK+3.2来开发一个小项目。有一些怪癖,例如,在Anjuta内部,您必须使用鼠标的“shift”键在UI开发窗口中移动小部件(例如按钮、标签等)(在Glade中,您单击的工具栏上有一个符号,允许您使用鼠标移动小部件)


讽刺的是,你问了一个关于小部件信号处理的框架函数的具体问题。我刚刚在Anjuta构建项目时发现了同样的问题。我注意到默认情况下“destroy”窗口回调函数总是在窗口上创建的。如果我发现如何让Anjuta创建骨架函数,我会发回……如果没有,我只会根据需要使用复制/粘贴和修改。

如果您觉得编写C所需的详尽代码很烦人(编辑繁琐),您可能更喜欢另一种语言。@WeatherVane您真的理解这个问题了吗?我说的是可以自动生成的锅炉板代码。我并不回避详尽的编码本身。总是切换回glade并查看我给信号处理程序起的名字是非常低效的。我可能可以自己编写代码来做我想做的事情,但我不想重新发明轮子。你的评论既不是建设性的,也不是特别诙谐。不管怎么说,我把“烦人”改为“乏味”,虽然我没想到会有人因为一个词汇而挂断电话。请看我投赞成票的原因。我不是想表现得机智。你的问题“有什么工具可以…”是离题的。@WeatherVane它仍然有自己的标签,这个网站上的关注者数量不一定代表它的受欢迎程度,它被标准地包含在所有主要的Linux发行版中,这使它成为一个普通的工具。现在我想到它,Anjuta对函数创建者有一个拖放信号。是的,我的意思是一个骨架,我编辑了这个问题以使它更清晰。这不仅仅是复制/粘贴的问题,而且我必须在Glade和我的编辑器之间切换,以查找我给我的信号提供的名称。如果有很多信号,那么我将不得不检查每个小部件,以确保我没有忘记什么。不管怎样,谢谢你的回答。你正在使用自动连接功能吗?如果没有,您可以使用
GtkBuilder
对象在代码中获取小部件,并手动连接信号。这样,您必须添加更多的代码,因为您必须自己连接信号,但同时您不必使回调名称在ui文件和代码之间匹配。