资源简介
在linux下编写的gtk程序,附件里面有可执行文件和源代码
代码片段和文件信息
#include
void change_background(GtkWidget *widget int w int h const gchar *path)
{
//1.允许窗口可以绘图
gtk_widget_set_app_paintable(widget TRUE);
gtk_widget_realize(widget);
/* 更改背景图时,图片会重叠
* 这时要手动调用下面的函数,让窗口绘图区域失效,产生窗口重绘制事件(即 expose 事件)。
*/
gtk_widget_queue_draw(widget);
GdkPixbuf *src = gdk_pixbuf_new_from_file(path NULL);
GdkPixbuf *dst = gdk_pixbuf_scale_simple(srcwhGDK_INTERP_BILINEAR);
/* 创建pixmap图像;
* NULL:不需要蒙版;
* 123: 0~255,透明到不透明
*/
GdkPixmap *pixmap = NULL;
gdk_pixbuf_render_pixmap_and_mask(dst&pixmapNULL128);
// 通过pixmap给widget设置一张背景图,最后一个参数必须为: FASL
gdk_window_set_back_pixmap(widget->windowpixmapFALSE);
g_object_unref(src);
g_object_unref(dst);
g_object_unref(pixmap);
return;
}
int main(int argc char *argv[])
{
//1.gtk环境的初始化
gtk_init(&argc &argv);
//2.创建一个window
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
//3.设置窗口标题
gtk_window_set_title(GTK_WINDOW(window) “设置窗口背景图“);
gtk_widget_set_size_request(window 500450);
//4.设置窗口图片
change_background(window 500 400 “./img/1.jpg“);
//5.显示所有窗口
gtk_widget_show_all(window);
//6.主事件循环
gtk_main();
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 203 2015-07-04 10:25 18_gtk_background\Makefile
文件 7830 2015-07-04 10:29 18_gtk_background\gtk_background
文件 1649 2015-07-30 09:43 18_gtk_background\gtk_background.c
文件 99863 2015-06-02 10:05 18_gtk_background\img\1.jpg
目录 0 2015-07-03 10:49 18_gtk_background\img
目录 0 2015-07-04 10:29 18_gtk_background
----------- --------- ---------- ----- ----
109545 6
- 上一篇:Voronoi图增量构造算法
- 下一篇:基于STM32F103的指纹识别程序
相关资源
- GTK实现数字表显示
- 基于GTK的Linux环境下的简易任务管理器
- 嵌入式局域网聊天系统客户端
- 飞机大战PlaneWar,Linux下gtk开发。
- linux 操作系统 GTK /proc文件 系统监视器
- libwebkitgtk-3.0-0_2.4.11-3_amd64.deb
- GTK+程序设计中文版PDF
- wave VCD Viewer波形查看工具(GTKwave)独
- GTK+GNOME程序设计PDF(高清)3
- GTK+参考文档
- Linux C编程-GTK+ 2.0 中文教程/使用GTK+
- 基于gtk的mp3播放器
- GTK帮助文档
-
gtkmpla
yer - GTK+3.0需要的dll全在里面啦Windows运行
- gtk2-runtime-2.16.0 for win
- GTK+教程很全面
- linux环境下部署kettle,执行kitchen.sh文
- KETTLE用libwebkitgtk
- Gtk+开发书籍.pdf
- eclipse-cpp-luna-SR2-linux-gtk-x86_64.tar.gz
- CDlinux带minidwep-gtk
- GTK+GNOME程序设计[单文件完整版]
- linux下音乐播放器,简单播放功能实现
- gtk+-bundle_2.24.10-20120208_win32
- GTK+修复工具64位.rar
- eclipse Kepler SR2 for Linux 64位 安装包 g
- linpop neusoft
- 最短路径演示程序-带界面
- 基于GTK+的单词数值计算器
评论
共有 条评论