我总是找到关于这个主题的好教程,但它几乎总是C ++。使用C制作GUI应用程序是困难还是没有意义?
一本好书,指南或教程都可以。
平台:Linux
答案 0 :(得分:8)
答案 1 :(得分:7)
如果你在Windows上使用C编程 - Petzold的编程窗口曾经是基于C语言的ui工作的圣经。
修改强> 自从我回答了我的问题后,该帖子已经更新为Linux。我会留下这里的帖子给任何人看,但它确实不适用于Linux。
答案 2 :(得分:2)
许多高质量的GUI都是用C语言编写的,例如Windows API。没有特别的原因,但面向对象编程在交互式图形建模方面非常成功。 GUI元素以某种方式自然地映射到C ++对象,这些对象可以将复杂行为封装在简单的接口之后。
答案 3 :(得分:2)
别。
使用python然后绑定用C编写的计算成本高昂的调用。
答案 4 :(得分:2)
使用C设计GUI应用程序的最佳方法是什么?
不要,如果你不需要: - )
使用C制作GUI应用程序是困难还是没有意义?
它不一定很难,但是一个非常冗余和冗长的任务(比如用汇编语言编写高级程序),有很多重复的样板代码。
就我个人而言,我发现简单地将脚本解释器(例如Lua,Nasal)与GUI库绑定,然后使用高级脚本语言编写UI代码并仅在C中编写应用程序本身的核心更有价值。之前曾提到过Python,但我认为像Lua这样的专用扩展语言会更合适,因为它不会使你的源代码膨胀,也不会产生任何额外的需求(比如库依赖或架构)。
换句话说,嵌入像Python,Perl或Ruby这样的东西可能相对简单(因为良好的文档和社区动力),但这些语言通常比宿主应用程序本身更复杂。
这也是AlgoScore软件采用的方法,该软件使用带有GTK绑定的嵌入式鼻腔解释器。
答案 5 :(得分:2)
nCurses C中老式DOS风格图书馆的图书馆。
GTK 适用于现代GUI。
使用 Qt 作为跨平台工具 开发GUI 赢/ Linux的/ MAC /嵌入/诺基亚
答案 6 :(得分:1)
动态类型也可以很好地用于很多GUI编程。 C仅使用静态类型。
答案 7 :(得分:-1)
如果您使用的是* nix系统,则可以使用Xlib。但是你最好不要用C ++编程并调用你的C代码。