GTK+-3.0编程 (三) 让这个按钮丰富一点,并给窗口加上图标
2016-11-15 23:18
531 查看
http://www.cnblogs.com/rain-blog/p/gtk3-3.html
之前我们为窗口添加了一个按钮,接下来让这个按钮丰富一点。并给窗口加上图标。
首先创建 example3,c 的源文件。
编译并运行:
结果:
之前我们为窗口添加了一个按钮,接下来让这个按钮丰富一点。并给窗口加上图标。
首先创建 example3,c 的源文件。
#include <gtk/gtk.h> static void activate(GtkApplication *app , gpointer data); //从文件中加载一张图片 GdkPixbuf *create_pixbuf(const char *image_name); int main(int argc , char **argv) { GtkApplication *app; int app_status; app = gtk_application_new("org.rain.gtk" , G_APPLICATION_FLAGS_NONE); g_signal_connect(app , "activate" , G_CALLBACK(activate) , NULL); app_status = g_application_run(G_APPLICATION(app) , argc , argv); g_object_unref(app); return app_status; } static void activate(GtkApplication *app , gpointer data) { GtkWidget *window; GdkPixbuf *icon; GtkWidget *button; GtkWidget *button_box; window = gtk_application_window_new(app); gtk_window_set_title(GTK_WINDOW(window) , "icon test"); gtk_window_set_default_size(GTK_WINDOW(window) , 200 , 200); gtk_window_set_position(GTK_WINDOW(window) , GTK_WIN_POS_CENTER); //创建图标控件icon icon = create_pixbuf("icon.png"); //为窗口设置图标 gtk_window_set_icon(GTK_WINDOW(window) , icon); //创建一个带有加速键的按钮,按住 Alt 不放,再按C,即相当于点击按钮 button = gtk_button_new_with_mnemonic("_Close"); //为按钮设置一个信息提示条 gtk_widget_set_tooltip_text(button , "Click button to quit."); button_box = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); gtk_container_add(GTK_CONTAINER(button_box) , button); gtk_container_add(GTK_CONTAINER(window) , button_box); g_signal_connect_swapped(button , "clicked" , G_CALLBACK(gtk_widget_destroy) , window); g_object_unref(icon); gtk_widget_show_all(window); } GdkPixbuf *create_pixbuf(const char *image_name) { GdkPixbuf *pixbuf; //加载图片文件,第二个参数设置错误变量的,不需要则设为 NULL pixbuf = gdk_pixbuf_new_from_file(image_name , NULL); if(!pixbuf) { perror("gdk_pixbuf_new_from_file()\n"); return NULL; } return pixbuf; }
编译并运行:
gcc example.c `pkg-config --cflags --libs gtk+-3.0` ./a.out
结果:
相关文章推荐
- GTK+-3.0编程 (二) 为创建的窗口添加一个按钮
- 如何给多文档窗口编程的按钮更改图标
- GTK+-3.0编程 (一) 创建一个空白的窗口
- 为CToolBar工具栏窗口按钮添加ICON图标需要注意的一点
- 每天学习一点编程(7)(n 个数字(0,1,…,n-1)形成一个圆圈,从数字0 开始,每次从这个圆圈中删除第m 个数字)
- 网站按钮操作图标的一种编程实践
- [Selenium]通过Selenium实现在当前浏览器窗口点击一个图标之后,弹出另外一个窗口,关闭这个窗口,再回到原来的窗口进行操作
- Win7编程:在按钮中加入管理员权限运行盾牌图标--转载
- QT编程中如何给按钮等控件加载图标以及QT编程中使用中文的问题
- ueditor 自定义— 按钮、图标、事件、窗口页面
- 编程实现最小化窗口到桌面右下角图标的代码
- Win7编程:在按钮中加入管理员权限运行盾牌图标教程
- 如何捕获只知道其名称的对话框窗口对象,并可模拟这个对话框中的某一按钮的单击事件
- CN消息的来源——父窗口不知道怎么处理,于是把这个消息加上CN_BASE在分发到实际的子窗体
- Qt窗口的一些简单设置-标题、图标、最大化最小化按钮、任务栏图标
- VB 编程中如何使窗口右上角的关闭按钮(X)失效
- 点击按钮时弹出另一个能控制大小的页面,并将某些值通过POST方式传给这个弹出的窗口
- 如何在其它程序窗口(已知窗口的句柄)加上一个按钮
- c# winform 怎么给程序的按钮上也加上小盾牌图标