编程简单的GUI应用程序几个考虑因素

时间:2012-10-26 05:16:01

标签: c linux bash

我想开始编写一些我可以用作工具等的简单应用程序。我希望这些应用程序能够简化我经常使用的某些终端进程。它们与我的本地文件批次以及其他应用程序(例如db2)进行交互。我已经开始学习C了。

我以为我会在嵌入式bash命令中使用C.我想知道这是否是编程这些应用程序的最佳/最常用的方法?有没有更好的方法呢?此外,我需要能够显示终端输出。这有可能吗?我对这种方法的唯一问题是它不能很好地转移到非Linux操作系统。

非常感谢任何有关大方向的见解或推动。

3 个答案:

答案 0 :(得分:1)

如果您想要跨平台,请考虑QtWxWidgets。我会选择Qt,但这只是因为我不知道WxWidgets;)

如果您想快速完成简单的事情,请将Qt与PyQtPySide一起使用(另请参阅this SO question)。根据它的网页,WxWidgets也有Python绑定。学习Python通常比学习C ++更有趣,更有用,速度更快,更容易。

忘记C进行GUI编程,GUI本质上是基于对象的,并且更容易使用自然支持对象的语言。

对于子进程处理,快速搜索Python和Qt this example at www.qtforum.org

答案 1 :(得分:0)

除了提到的工具包,例如 PyQt wxPython 之外,标准的python本身还带有一个名为 Tkinter 的跨平台GUI工具包。

此外,如果您使用Linux,则可以尝试(针对C) Gtk

对于C ++,我建议 Qt wxWidgets

如果您不介意安装重量级虚拟机,请尝试使用Java。它带有 Swing

除了所有这些用于图形用户界面的工具包之外,将图形用户程序与命令行程序连接起来......嗯..没关系。您需要打开子进程(命令行进程)的管道,读取它的输出,写入子进程的输入流,并向用户显示相应的消息。

答案 2 :(得分:0)

我建议在wxWidgets上使用Qt。为了便于移植到Linux,从我的经验来看,Qt效果更好。我有一些项目在mac / windows上工作得很好,但由于运行特定wxWidget构建的细微差别而在linux上出现了seg错误。使用Qt还可以使用大量特定于Qt的高效快速数据结构。