linux下gtk+一个将字符串大写化的小示例
来源:互联网 发布:linux下查看当前用户 编辑:程序博客网 时间:2024/06/03 20:48
首先用glade画图形界面:
并且设置gtk元素名称(ID)以及设置事件回调函数。
下面写代码:
#include <gtk/gtk.h>#include <string.h>#define UI_PATH "./entry.ui"#define MAIN_WINDOW "window"#define CHK_EDITABLE "chk_editable"#define CHK_VISIBLE "chk_visible"void editable_toggled(GtkWidget *self,GtkEntry *entry){ //gtk_entry_set_editable(entry,GTK_TOGGLE_BUTTON(self)->active); printf("%s:enter function\n",__func__); gtk_editable_set_editable((GtkEditable*)entry,gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(self)));}void visible_toggled(GtkWidget *self,GtkEntry *entry){ //gtk_entry_set_visibility(entry,GTK_TOGGLE_BUTTON(self)->active); printf("%s:enter function\n",__func__); gtk_entry_set_visibility(entry,gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self)));}void entry_changed(GtkWidget *self,gpointer user_data){ gchar *text = (gchar*)gtk_entry_get_text(GTK_ENTRY(self)); printf("%s:text is %s\n",__func__,text); text = g_ascii_strup(text,strlen(text)); gtk_entry_set_text(GTK_ENTRY(self),text);}int main(int argc,char **argv){ GtkWidget *w; GError *error; gtk_init(&argc,&argv); GtkBuilder *builder = gtk_builder_new(); if(!gtk_builder_add_from_file(builder,UI_PATH,&error)){ g_critical("Couldn't load builder file: %s",error->message); g_error_free(error); } w = GTK_WIDGET(gtk_builder_get_object(builder,MAIN_WINDOW)); if(!w){ g_critical("Widget \"%s\" is missing in file %s",MAIN_WINDOW,UI_PATH); } gtk_window_set_title(GTK_WINDOW(w),"clist todo list"); gtk_window_set_default_size(GTK_WINDOW(w),300,100); gtk_window_set_position(GTK_WINDOW(w),GTK_WIN_POS_CENTER_ALWAYS); gtk_container_set_border_width(GTK_CONTAINER(w),5); gtk_builder_connect_signals(builder,NULL); g_object_unref(builder); gtk_widget_show_all(w); gtk_main(); return 0;}
GtkEntry有2个更改事件,分别是activate和changed;前者在文本输入控件内按回车时触发,后者当文本控件内部的文本发生变化时触发。
编译完毕执行效果如下:
0 0
- linux下gtk+一个将字符串大写化的小示例
- 一个简单的判断字符串所含字母是否有大写,并将所有字母改为大写的小程序
- java将字符串首字母变为大写的小程序
- 一个将字符串第一个字母转成大写的函数
- GTK+ 在windows和linux下的搭建环境 示例
- 输入一个字符串将大写改成小写,小写 改成大写
- 将一个大写字符串转换成小写字符串
- ¥小会计¥ 将一个小于一亿的整数转换成大写金额
- 将字符串首字母大写
- 一个简单的整型值转大写汉字字符串的小程序
- 8086汇编语言 将一个字母变成小,大写
- 一个五脏俱全的Gtk小程序
- RMB 转大写的一个小demo
- 定义一个字符串“hello world”将其转换成大写
- 将一个字符串首字母大写,其它字母小写
- 将一个字符串转换成首字符大写,其他小写
- 将一个字符串的元音字母复制到另一个字符串,并排序,让小写在前,大写在后,分别有序
- linux下将一个大的文件拆分成若干小文件
- Android AsyncTask usage
- gps纠偏及大陆地图偏移原因
- nyoj17 单调递增最长子序列(DP)
- 把.AndroidStudio1.2文件夹移出系统盘
- 集训目标
- linux下gtk+一个将字符串大写化的小示例
- 7个睡前习惯 让你多活10年
- SGU-154 Factorial (末尾0 & 三分)
- C程序变量的声明、定义、初始化和赋值
- 如何在通达OA系统上搭建一个报价系统
- 如何解决ADB server didn't ACK
- Scala入门到精通——第十六节 泛型与注解
- [Drools]JAVA规则引擎 -- Drools
- PROBLEM_J: Gym 100345J - Zen Garden