以下gtk+编程例子是来自书籍《实用技术:开发Linux应用——用GTK+和GDK开发Linux图形用户界面应用》第115页的内容——最简单的进度条
将之前的进度条程序缩减代码,看看最简单的进度条的代码有那些,是如何运作的,理解一下结构体的使用,我也不是很明白ProgressData *pdata = data;这句的作用
在openSUSE-Leap-15.3-DVD-x86_64的gnome3.34.7桌面环境下编译的,其中pkg-config --cflags --libs gtk±3.0两边有反引号括起来的
ruhong@localhost:~/gtk> gcc -g -Wall test115.c -o test115 pkg-config --cflags --libs gtk+-3.0
> mistake.text 2>&1 ; gedit mistake.text
ruhong@localhost:~/gtk> ./test115
/* the example on page 115 */
#include <gtk/gtk.h>
/* 准备材料,自定义函数 */
/* comments注释 */
typedef struct _ProgressData {
GtkWidget *window;
GtkWidget *pbar;
int timer;
} ProgressData;
/* 结构体,原名是_ProgressData,别名是ProgressData */
gint progress_timeout (gpointer data)
{
ProgressData *pdata = data;
/* 这句内容我也不是很明白, */
gfloat pbar_value = 0;
/* 声明pbar_value类型为浮点变量,就是含有小数