您的位置 首页 > 数码极客

‘如何用c语言编写窗口’如何使用vs编写c语言…

在编写代码之前,先初步的认识了解一下什么是GTK+。

GTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包。也就是说,它是一个库,它支持创建基于 GUI 的应用程序。可以把GTK+想像成一个工具包,从这个工具包中可以找到用来创建GUI的许多已经准备好的构造块。最初GTK+是作为一个著名的开放源码项目 —— GIMP(GNU Image Manipulation Program)的副产品而创建的,现在已成为一个功能强大、设计灵活的一个通用图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一。GTK+虽然是用C语言写的,但是您可以使用你熟悉的语言来使用GTK+,例如可以用:C++,PHP, Guile,Perl, Python, TOM, Ada95, Objective C等语言来编写自己的GUI应用程序。

如果你在学习完C语言想要摆脱在学习中的黑框框,GTK+是一个很不错的选择。学习起来相对简单,容易上手。在随后的教程中我们使用的是GTK+3.0这个版本来编写我们的界面程序,在Linux系统中GTK+3.0的环境搭建也十分的简单,一条命令即可:

sudo apt-get install libg*。

该命令执行完后,可以测试是否安装成功:

pkg-config --cflags --libs gtk+-3.0

表明GTK+3.0安装成功

安装完成后,我们就可以用几个简短的代码来编写一个带窗口的C语言程序。

/*一个简单的窗口ba*/

#include <gtk;

int main(int argc, char * argv[])

{

GtkWidget * window;

gtk_init(&argc, &argv);

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

gtk_widget_show(window);

gtk_main();

retrun FALSE;

}

编译代码:gcc -o base ba `pkg-config --cflags --libs gtk+-3.0`

界面出来了

运行成功,终于可以看到了一个自己编写的带界面的小程序了,虽然它什么也不能做,至少不是一个黑框框了。

下面我们来分析一下上面的代码是什么意思:

1.设置include文件与声明主函数

首先是#include<gtk;语句,这是每个GTK+3.0程序都要包含的头文件。然后是函数声明int main(int argc, char * argv[]),这是标准的c语言主函数的声明。

2.声明变量

GtkWidget * window;声明了窗口控件指针。其中GtkWidget是GTK+3.0控件类型,几乎所有的GTK+3.0控件都是这一类声明;window是一个变量名,当然也可以给它起一个其他的名字,诸如ss这样的名字,不过并不建议这样做,这样只会令代码阅读起来更难,所以最好起一个易于理解的变量名,比如window。

3.初始化GTK+3.0的命令行参数

函数gtk_init(&argc, &argv);初始化命令行参数,这在GTK+3.0程序中是必需的,不管你的设计中是否使用到命令行参数,都需要用这一函数来初始化。

4.创建窗口

代码行window = gtk_window_new(GTK_WINDOW_TOPLEVEL);用来创建窗口。函数gtk_window_new()创建一个窗口并返回这个窗口的控件指针,在这里这个指针的赋值给了变量window;参数GTK_WINDOW_TOPLEVEL指明了窗口的类型为最上层的主窗口,它最常用。当然也可以去取另一个值GTK_WINDOW_POPUP指明窗口的类型是弹出式的无边框的窗口。

5.显示窗口

代码行gtk_widget_show(window);用来显示上一步创建的窗口。函数gtk_widget_show是用来显示控件的,它没有返回类型,参数是要显示的控件指针,在这里是窗口window,所以窗口就显示出来了。

6.主事件循环

最后这个函数gkt_main();是最关键的,它是GTK+3.0的主事件循环,每一个GTK+3.0程序都要有一个,否则程序就无法运行。所谓的事件循环指的是GUI程序运行时等待来自外部用户发出的事件,如键盘按键或者鼠标移动等,GTK+3.0将这些事件包装成信号,用户再根据信号的功能编写相应的回调函数来处理这些事件。在这段代码中并没有写回调函数,所以这只是一个死循环,不做任何反应。

代码最后返回逻辑值FALSE,它相当于整型0。

7.编译运行

gcc -o base ba `pkg-config --cflags --libs gtk+-3.0`,在终端上输入这么长一串命令非常繁琐而且容易出错,如果长时间不用的话还有可能忘记这串命令。幸好Linux提供了make工具,这样直接编辑好make的配置文件Makefile,在命令行中直接输入命令make就可以编译了,编译结束后输入命令./base就可以运行这个程序了。

注意:$(CC)前面不是空格,而是Tab,如果写成空格的话运行make命令会出错。

在命令行中的`pkg-config --cflags --libs gtk+-3.0`这段命令的意思是向编译器指出了包含文件的路径,动态链接库路径和要链接那些动态链接库。pkg-config是GTK+3.0和GNOME2系统必备的软件包配置和管理工具,可以在命令行中直接运行。

至此,完成了最简单的变量的声明、窗口的创建、显示。了解GTK+3.0程序的一般结构、GTK+3.0程序中的两个关键步骤:gtk_init和gtk_main。这些都是GTK+3.0程序必备的,为下面进一步学习GTK+3.0编程打下基础。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何用c语言编写窗口,如何使用vs编写c语言,c语言如何编写窗口全屏,如何用c语言编写游戏,c语言编写windows窗口,c语言编写窗口程序”边界阅读