📄 3.c
字号:
#include <gtk/gtk.h> int sell=0; GtkWidget *window; GtkWidget *align; GtkWidget *separator; GtkWidget *button; GtkWidget *vbox; GtkWidget *timer; GtkWidget *label;itoa(int i,char* string)//将整数转换成字符串后返回string{int power,j;j=i;for(power=1;j>=10;j/=10)power*=10;for(;power>0;power/=10){*string++='0'+i/power;i%=power;}*string='\0';}gint progress_timeout( gpointer data ){ GString *string; gdouble new; char s[10]; string = g_string_new ("");//刷新数字形式的内存相关信息new= sell+1;if (new >30){ gtk_label_set_text (GTK_LABEL (label),"票已经售完!");//显示到标签上return FALSE;}itoa(new,s);//转换为字符串g_string_append (string, "窗口售票数:");g_string_append (string, s);gtk_label_set_text (GTK_LABEL (label),string->str);//显示到标签上sell=new; return TRUE;/* 这是一个timeout函数,返回 TRUE,这样它就能够继续被调用 */} void destroy_progress( GtkWidget *widget, gpointer data){ gtk_main_quit ();}int main( int argc, char *argv[]){ gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL);//新建窗口 gtk_window_set_resizable (GTK_WINDOW (window), TRUE);//窗口尺寸可变 gtk_window_set_default_size (GTK_WINDOW (window), 200,100);//默认窗口尺寸大小 g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (destroy_progress), NULL); gtk_window_set_title (GTK_WINDOW (window), "售票窗口3");//设置标题 gtk_container_set_border_width (GTK_CONTAINER (window), 0);//设置边框宽度 vbox = gtk_vbox_new (FALSE, 5);//新建盒子 gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);//设置边框宽度 gtk_container_add (GTK_CONTAINER (window), vbox);//加入窗口 gtk_widget_show (vbox);//显示盒子 align = gtk_alignment_new (0.5, 0.5, 0, 0); /* 创建一个组合对齐构件 */ gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 5); //装入盒子,符合构件大小,多余空间周围分布 gtk_widget_show (align); label=gtk_label_new (""); gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (vbox),label, FALSE, FALSE, 5); gtk_label_set_text (GTK_LABEL (label),"窗口售票数:0");//显示到标签上 timer = gtk_timeout_add (500, progress_timeout,NULL); button = gtk_button_new_with_label ("exit"); /* 添加一个按钮,用来退出应用程序 */ g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (gtk_widget_destroy), window);//被点击后调用gtk_widget_destroy函数 gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); gtk_widget_show (button); gtk_widget_show (window); gtk_main (); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -