Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 编写简单的GUI应用程序?几点考虑_C_Linux_Bash - Fatal编程技术网

C 编写简单的GUI应用程序?几点考虑

C 编写简单的GUI应用程序?几点考虑,c,linux,bash,C,Linux,Bash,我想开始编写一些简单的应用程序,我可以用它们作为工具等等。我希望这些应用程序能够简化我经常使用的某些终端流程。它们与我的本地文件以及其他应用程序(例如db2)交互。为此,我已经开始学习一点C语言 我想我会将C与嵌入式bash命令一起使用。我想知道这是否是编写这些应用程序的最佳/最常用方法?有更好的方法吗?此外,我需要能够显示终端输出。这可能吗?我对这种方法的唯一问题是,它不能很好地移植到非Linux操作系统 如果你想跨平台,考虑或。我会选择Qt,但那只是因为我不知道WxWidgets;) 如果您

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

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


如果你想跨平台,考虑或。我会选择Qt,但那只是因为我不知道WxWidgets;)

如果您想要快速完成简单的事情,请将Qt与或一起使用(另请参见)。根据WxWidgets的网页,它也有Python绑定。学习Python通常是有趣的,有用的,而且比学习C++更快,更容易。 忘记C对于GUI编程,GUI本质上是基于对象的,并且在自然支持对象的语言上更容易使用


< P>用于子进程处理,找到Python和Qt的快速搜索。

< P>如果需要跨平台,考虑或。我会选择Qt,但那只是因为我不知道WxWidgets;)

如果您想要快速完成简单的事情,请将Qt与或一起使用(另请参见)。根据WxWidgets的网页,它也有Python绑定。学习Python通常是有趣的,有用的,而且比学习C++更快,更容易。 忘记C对于GUI编程,GUI本质上是基于对象的,并且在自然支持对象的语言上更容易使用


对于子进程处理,可以快速搜索Python和Qt。

除了提到的工具包,如PyQtwxPython,标准Python本身还带有一个名为Tkinter的跨平台GUI工具包

另外,如果您在Linux上,您可以尝试(对于C)Gtk

< C++ >我建议<强> >t>强>或<强> WxWigss<强> > /p> 或者,如果您不介意安装重型虚拟机,请尝试Java。它配有Swing


除了所有这些用于图形用户界面的工具包之外,还需要将图形用户程序与命令行程序进行接口。。好。。没有关系。您需要打开子流程(命令行流程)的管道,从中读取输出,写入子流程的输入流,并向用户显示适当的消息

除了上述的工具包,如PyQtwxPython,标准python本身还附带了一个名为Tkinter的跨平台GUI工具包

另外,如果您在Linux上,您可以尝试(对于C)Gtk

< C++ >我建议<强> >t>强>或<强> WxWigss<强> > /p> 或者,如果您不介意安装重型虚拟机,请尝试Java。它配有Swing


除了所有这些用于图形用户界面的工具包之外,还需要将图形用户程序与命令行程序进行接口。。好。。没有关系。您需要打开子流程(命令行流程)的管道,从中读取输出,写入子流程的输入流,并向用户显示适当的消息

我建议使用Qt而不是wxWidgets。对于Linux的可移植性,根据我的经验,Qt工作得更好。我有几个项目在mac/windows上工作得很好,但在linux上seg出现了故障,因为运行特定的wxWidget构建时存在细微差别。使用Qt还允许您使用大量特定于Qt的高效快速数据结构。

我建议使用Qt而不是wxWidgets。对于Linux的可移植性,根据我的经验,Qt工作得更好。我有几个项目在mac/windows上工作得很好,但在linux上seg出现了故障,因为运行特定的wxWidget构建时存在细微差别。使用Qt也可以让您使用QT.

特有的大量高效和快速的数据结构。您或许应该考虑学习Python或OcAML,并用它来编写简单的GUI脚本。@ BasileStarynkevitch,这是Ocaml的笑话吗?正如主题作者所问,这是一种简单的方法还是常用的方法?不,有几个人正在轻松地将Ocaml与Lablgtk结合使用。然而,对于任何语言,我都会发现,通过编写GUI应用程序来学习编程并不是最好的方法。要学习编程,请从编写简单的命令行应用程序开始。GUI应用程序是复杂的,因为它们涉及到一个事件循环从你的控制。你也许应该考虑学习Python或OcAML,并用它来编写简单的GUI脚本。@ BasileStarynkevitch,这是Ocaml的笑话吗?正如主题作者所问,这是一种简单的方法还是常用的方法?不,有几个人正在轻松地将Ocaml与Lablgtk结合使用。然而,对于任何语言,我都会发现,通过编写GUI应用程序来学习编程并不是最好的方法。要学习编程,请从编写简单的命令行应用程序开始。GUI应用程序很复杂,因为它们涉及一个你无法控制的事件循环。我确实有一些编码经验。但主要是逻辑操作和脚本编写,而不是应用程序。我有Python,Stand,C++和VBA的经验,我读过QT和GTK,但实际上这不是我希望学习的。我的问题是,我应该使用哪个库与我的文件和其他应用程序进行交互?Qt或GTK是否提供获取另一个程序的终端输出的方法?例如,如果我决定为db2创建一个gui,因为我通常使用终端命令运行db2,那么GTK提供了吗?至少Qt有QProcess,它提供了基于事件的interac