我在大学第一学期有一个项目。我已经写了一个C源代码文件,但是我想为我的项目创建一个图形用户界面(GUI)。使用QT creator可以实现吗?
我在大学第一学期有一个项目。我已经写了一个C源代码文件,但是我想为我的项目创建一个图形用户界面(GUI)。使用QT creator可以实现吗?
void c_function(void);
extern "C" {
# include "function.h"
}
extern "C"
即可。
- 你可以使用qtcreator编写C(可能是gtk)图形用户界面,它们的协作非常好。在这种情况下,我建议使用cmake作为构建系统,虽然原则上qmake也可以胜任。
- 你可以使用PyGTK、PyQt甚至Python's TkInter来编写图形用户界面,因为你可以从C代码创建一个python模块。
1QT实际上代表QuickTime。
2它不是真正的C函数,因为您需要能够使用new
运算符来创建类的实例,所以它实际上是一个使用extern "C"
声明的C++函数,以避免名称混淆。
3在没有qtcreator之前,有Qt和KDE 3使用Qt而没有cmake,只有autotools。
Qt不是C语言,但你可以使用它。
选项1 这并不意味着你必须更改你的C源文件。只需编写一个dll接口,提供给C层一个API即可。
选项2 而且由于C与C++有些相关,我想添加面向对象的特性到你的代码中也很容易,因此不会改变你的代码逻辑,使其保持原样。
这是来自Qt网站的“Hello World”教程,它使用C++编写,现在@iharob接受将其翻译成“C”的挑战。欢迎任何其他改进使其更具指导性的建议。
/****************************************************************
**
** Qt tutorial 1
**
****************************************************************/
#include <qapplication.h>
#include <qpushbutton.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QPushButton hello( "Hello world!", 0 );
hello.resize( 100, 30 );
a.setMainWidget( &hello );
hello.show();
return a.exec();
}
extern "C"
来混淆它们的名称。 - Iharob Al Asimi