【发布时间】:2019-07-13 09:18:48
【问题描述】:
我正在开发一个用 C 编写的简单套接字应用程序,它允许两个成员使用基本的命令行提示符通过 Internet 进行通信。
我想为它添加一个合适的 GUI,只是为了使用一个像样的 UI,而不是基本的标准输入/输出。
现在我正在使用 Cygwin 进行开发以使用 POSIX 线程和套接字。有没有办法把它连接到 Qt 上?
【问题讨论】:
-
嗯,使用 QT 需要将程序从 C 重写为 C++...
-
@Shawn 为什么会这样?我认为 C++ 向后兼容?它想象着我只需要将我已经存在的 C 项目嵌入到 QT 中。
-
如果您不想重新设计您的 C 程序,一种可能的解决方法是让您的 Qt GUI 作为子进程启动您的 C 程序(通过
QProcess类)和读取子进程的标准输出并写入其标准输入。 (即它将充当原始程序的“包装器”,而不是直接包含原始代码) -
这两种语言之间有很多相似之处,但是编写 C 遵循那些无效 C++ 的语言最佳实践是微不足道的。
-
我使用 C 和 C++ 超过 25 年。通常,将程序从 C 编译和移植到 C++ 一点也不难。您应该能够将您的 C 代码移至 C++ 并使用 Qt,而无需太多麻烦。当然,使用 C++,您倾向于使用 STL、智能指针等,这使您的代码更易于编写和维护。但请记住,保持简单 - 简单几乎总是好的!