⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3.c

📁 Linux下的简单图形化多线程程序源码
💻 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 + -