当前位置: 技术问答>linux和unix
gtk中如何使用图片
来源: 互联网 发布时间:2015-03-18
本文导语: 我想在gtk 中使用一幅图片,把他贴在一个window的上方,增加美观 怎么办 我看了一下好像gtk 用的是pixmap 我的那幅图是在windows下的 能够直接转化成这种格式的马? 我把这个图在用gtk编程的时候,从image那个地方选了...
我想在gtk
中使用一幅图片,把他贴在一个window的上方,增加美观
怎么办
我看了一下好像gtk
用的是pixmap
我的那幅图是在windows下的
能够直接转化成这种格式的马?
我把这个图在用gtk编程的时候,从image那个地方选了上去
但是在运行的时候他却报告找不到这个图片
可是明明就在那个目录下阿
我是刚刚学习gtk的,请多多执教!!
有什么英文的gtk资料可以使用的马
或者是那个网站,多谢!
中使用一幅图片,把他贴在一个window的上方,增加美观
怎么办
我看了一下好像gtk
用的是pixmap
我的那幅图是在windows下的
能够直接转化成这种格式的马?
我把这个图在用gtk编程的时候,从image那个地方选了上去
但是在运行的时候他却报告找不到这个图片
可是明明就在那个目录下阿
我是刚刚学习gtk的,请多多执教!!
有什么英文的gtk资料可以使用的马
或者是那个网站,多谢!
|
可以用 rc:
test.rc
------------------------------------------------------
style "window"
{
bg_pixmap[NORMAL] = "test.bmp"
}
widget "main window" style "window"
------------------------------------------------------
然后在程序中插入:
gtk_rc_parse ("test.rc"); // 解析rc
....
...
gtk_widget_set_name (window, "main window"); // 设置控件名称,这个控件的背景就是 test.bmp 了
还可以用 GdkPixmap,比如将窗口设置成一个图形
int main (int argc, char *argv[])
{
GtkWidget *window = NULL;
GdkBitmap *pixmap_mask;
GdkPixmap *pixmap;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_POPUP);
gtk_widget_set_name (window, "main window");
gtk_rc_parse ("test.rc"); //跟背景配合,就不用添加多余的控件了
gtk_widget_realize (window);
pixmap = gdk_pixmap_create_from_xpm (window->window, &pixmap_mask, NULL, "test.bmp"); //根据图片设置窗口形状
gtk_widget_shape_combine_mask (window, pixmap_mask, 0, 0);
g_object_unref (pixmap_mask);
g_object_unref (pixmap);
gtk_widget_show_all (window);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_main ();
return 0;
}