linux 系统程序设计,Linux 系统应用与程序设计

Linux kuangyingjie@163.com

gtk-demopkg-config

GTK+

#include #include #include const char * password="secret";void closeApp(GtkWidget *window,gpointer data){ gtk_main_quit();}void button_clicked(GtkWidget *window,gpointer data){ const char *password_text=gtk_entry_get_text(GTK_ENTRY((GtkWidget *)data)); if (strcmp(password_text,password)==0) printf("Access granted!\n"); else printf("Access denied!\n");}

int main(int argc,char *argv[]){ GtkWidget *window; GtkWidget *username_label,*password_label; GtkWidget *username_entry,*password_entry; GtkWidget *ok_button; GtkWidget *hbox1,*hbox2; GtkWidget *vbox; gtk_init(&argc,&argv); window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window),"GtkEntryBox"); gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(window),200,200); g_signal_connect(GTK_OBJECT(window),"destroy",GTK_SIGNAL_FUNC(closeApp),NULL);

username_label=gtk_label_new("Login:"); password_label=gtk_label_new("Password:"); username_entry=gtk_entry_new(); password_entry=gtk_entry_new(); gtk_entry_set_visibility(GTK_ENTRY(password_entry),FALSE); ok_button=gtk_button_new_with_label("OK"); g_signal_connect(GTK_OBJECT(ok_button),"clicked",GTK_SIGNAL_FUNC(button_clicked),password_entry); hbox1=gtk_hbox_new(TRUE,5); hbox2=gtk_hbox_new(TRUE,5);

vbox=gtk_vbox_new(FALSE,10); gtk_box_pack_start(GTK_BOX(hbox1),username_label,TRUE,FALSE,5); gtk_box_pack_start(GTK_BOX(hbox1),username_entry,TRUE,FALSE,5); gtk_box_pack_start(GTK_BOX(hbox2),password_label,TRUE,FALSE,5); gtk_box_pack_start(GTK_BOX(hbox2),password_entry,TRUE,FALSE,5); gtk_box_pack_start(GTK_BOX(vbox),hbox1,FALSE,FALSE,5); gtk_box_pack_start(GTK_BOX(vbox),hbox2,FALSE,FALSE,5); gtk_box_pack_start(GTK_BOX(vbox),ok_button,FALSE,FALSE,5); gtk_container_add(GTK_CONTAINER(window),vbox); gtk_widget_show_all(window); gtk_main(); return 0; }

GtkButtonGtkButtonGtkToggleButtonGtkCheckButtonGtkRadioButton

#include #include GtkWidget *togglebutton;GtkWidget *checkbutton;GtkWidget *radiobutton1,*radiobutton2;void closeApp(GtkWidget *window,gpointer data){ gtk_main_quit();}

void add_widget_with_label(GtkContainer *box,gchar *caption,GtkWidget *widget){ GtkWidget *label=gtk_label_new(caption); GtkWidget *hbox=gtk_hbox_new(TRUE,4); gtk_container_add(GTK_CONTAINER(hbox),label); gtk_container_add(GTK_CONTAINER(hbox),widget); gtk_container_add(box,hbox);}

void print_active(char *button_name,GtkToggleButton *button){ gboolean active=gtk_toggle_button_get_active(button); printf("%s is %s\n",button_name,active?"active":"not active");}

void button_clicked(GtkWidget *button,gpointer data){ print_active("Checkbutton",GTK_TOGGLE_BUTTON(checkbutton); print_active("Togglebutton",GTK_TOGGLE_BUTTON(togglebutton); print_active("Radiobutton1",GTK_TOGGLE_BUTTON(radiobutton1); print_active("Radiobutton2",GTK_TOGGLE_BUTTON(radiobutton2); printf("\n");}

gint main(gint argc,gchar *argv[]){ GtkWidget *window; GtkWidget *button; GtkWidget *vbox;

gtk_init(&argc,&argv); window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(window),200,200);

g_signal_connect(GTK_OBJECT(window),"destroy",GTK_SIGNAL_FUNC(closeApp),NULL); button=gtk_button_new_with_label("OK"); togglebutton=gtk_toggle_button_new_with_label("Toggle"); checkbutton=gtk_check_button_new(); radiobutton1=gtk_radio_button_new(NULL); radiobutton2=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(radiobutton1));

vbox=gtk_vbox_new(TRUE,4); add_widget_with_label(GTK_CONTAINER(vbox),"ToggleButton:",togglebutton); add_widget_with_label(GTK_CONTAINER(vbox),"CheckButton:",checkbutton); add_widget_with_label(GTK_CONTAINER(vbox),"Radio 1:",radiobutton1); add_widget_with_label(GTK_CONTAINER(vbox),"Radio 2:",radiobutton2); add_widget_with_label(GTK_CONTAINER(vbox),"Button:",button);

g_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(button_clicked),NULL);

gtk_container_add(GTK_CONTAINER(window),vbox); gtk_widget_show_all(window); gtk_main(); return 0;}

Shell$0,$1Cint main(int argc,char *argv[])argcargvargcargv

Shellargv myapp left right and centerargc4argv{myapp,left,right,and center}

ls l s t rdf m

C

getoptgetoptlinuxInt getopt(int argc,char *const argv[],const char *optstring)*optstringgetoptoptstring

getopt argc argvif:lrargvoptarggetopt-1- -optopt

unixGMT1970110unixlinuxLinuxMS-DOS1980

time_t#include time_t time(time_t *tloc)

#include #include #include

int main(){ int i; time_t thetime; for (i=1;i

gmtimestruct tm *gmtime(const time_t timeval)tmInt tm_secInt tm_minInt tm_hourInt tm_mdayInt tm_monInt tm_yearInt tm_wday Int tm_ydayInt tm_isdst

#include #include int main(){ struct tm *tm_ptr; time_t thetime; (void)time(&thetime); tm_ptr=gmtime(&thetime); printf("raw time is %ld \n",thetime); printf("gmtime gives:\n"); printf("date: %02d/%02d/%02d\n",tm_ptr->tm_year,tm_ptr->tm_mon+1,tm_ptr->tm_mday); printf("time: %02d:%02d:%02d\n",tm_ptr->tm_hour,tm_ptr->tm_min,tm_ptr->tm_sec); exit(0);}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值