我的第一个学期有一个大学项目。我已经编写了一个 C 源文件,但我想为我的项目创建一个 GUI。可以用QT creator做吗?
最佳答案
你显然很困惑。
这不是 QT 1,是Qt “小写 t”和 qtcreator不是Qt。
您可以在没有 qtcreator 或 qmake 的情况下编写 Qt 应用程序3,事实上我有一个大型的 Qt 应用程序,它使用 cmake作为构建系统,你知道 KDE也使用 cmake(带有 automoc ,它最初是 KDE 源代码的一部分)。
此外,您可以使用 c c++ 中的图书馆,事实上,您几乎可以在任何地方使用 C 库 - 与 C++ 不同,您不能使用 C++。
在 C++ 代码中使用 C 函数的一个复杂问题是 C++ 更改函数的名称以允许函数/方法重载(尽管方法与 C 无关)。但是尽管如此,您甚至可以通过编写可创建和销毁类实例的 "C"2 函数为 C++ 类创建插件接口(interface)。
为了避免名称重整 问题,有extern "C"
,假设您在头文件“function.h”
void c_function(void);
如果您想在 C++ 代码中使用它,您可以这样做
extern "C" {
# include "function.h"
}
现在您可以调用 c_function()
来自 C++ 代码。
结论
- 您可以编写一个Qt 图形用户界面并在其中使用您的C 代码,除了
extern "C"
之外根本不需要任何特殊的东西。 . - 您可以使用 qtcreator 编写一个 C(可能是 gtk)图形用户界面,实际上它们的协同工作非常好。在这种情况下,我会推荐 cmake 作为构建系统,尽管原则上 qmake 也应该完成这项工作。
- 您可以使用 PyGTK , PyQt甚至 Python's TkInter编写图形用户界面,因为你可以创建一个python来自 C 代码的模块。
1QT 实际上代表 QuickTime。
2不是真正的 C 函数,因为您需要能够使用 new
运算符来创建类的实例,所以它实际上是一个用 extern "C"
声明的 C++ 函数以避免名称混淆。
3之前没有qtcreator,但是有Qt,KDE 3 确实使用了Qt 没有 cmake,只有 autotools。
关于我可以使用 qt creator 在 C 中制作 GUI 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33706357/