我想开始编写一些我可以用作工具等的简单应用程序。我希望这些应用程序能够简化我经常使用的某些终端进程。它们与我的本地文件批次以及其他应用程序(例如db2)进行交互。我已经开始学习C了。
我以为我会在嵌入式bash命令中使用C.我想知道这是否是编程这些应用程序的最佳/最常用的方法?有没有更好的方法呢?此外,我需要能够显示终端输出。这有可能吗?我对这种方法的唯一问题是它不能很好地转移到非Linux操作系统。
非常感谢任何有关大方向的见解或推动。
答案 0 :(得分:1)
如果您想要跨平台,请考虑Qt或WxWidgets。我会选择Qt,但这只是因为我不知道WxWidgets;)
如果您想快速完成简单的事情,请将Qt与PyQt或PySide一起使用(另请参阅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的高效快速数据结构。