当前位置:  技术问答>linux和unix

Gtk下(linux)如何设置窗体的背景图片?

    来源: 互联网  发布时间:2015-07-27

    本文导语:  gtk_winodw_new创建的窗体,如何设置一个gif的图片做为其背景图呢?谢谢!回答都有分!能解答的可再给分,万分感谢! | #include  #include  GdkPixmap *load_pixmap(GtkWidget *widget,gchar *filename) {   Gdk...

gtk_winodw_new创建的窗体,如何设置一个gif的图片做为其背景图呢?谢谢!回答都有分!能解答的可再给分,万分感谢!

|
#include 
#include 


GdkPixmap *load_pixmap(GtkWidget *widget,gchar *filename)
{
  GdkPixbuf *pixbuf=NULL;
  GdkPixmap *pixmap=NULL;
  pixbuf=gdk_pixbuf_new_from_file(filename,NULL);
  if(!widget->window)printf("NULLn");

  pixmap=gdk_pixmap_new(widget->window,gdk_pixbuf_get_width(pixbuf),
                                       gdk_pixbuf_get_height(pixbuf),-1);

  gdk_pixbuf_render_to_drawable(pixbuf,pixmap,
                                widget->style->fg_gc[GTK_STATE_NORMAL],
0,0,0,0,
gdk_pixbuf_get_width(pixbuf),
gdk_pixbuf_get_height(pixbuf),
GDK_RGB_DITHER_NORMAL,0,0);


  g_object_unref(pixbuf);
  return pixmap;
}

gboolean set_widget_bg(gchar *filename,GtkWidget *widget)
{
  GdkPixmap *bg;
  bg=load_pixmap(widget,filename);
  gdk_window_set_back_pixmap(widget->window,bg,FALSE);
  gdk_window_clear(widget->window);
  return TRUE;
}


int main(int argc,char* argv[])
{
  GtkWidget *window,*fix ;

  gtk_init(&argc,&argv) ;

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL) ;
  gtk_signal_connect(GTK_OBJECT(window),"destroy",GTK_SIGNAL_FUNC(gtk_main_quit),NULL) ;


  fix = gtk_fixed_new() ;
  gtk_container_add(GTK_CONTAINER(window),fix) ;
  set_widget_bg("wcan.png",fix) ;

  gtk_widget_show(fix) ;

  gtk_widget_show_all(window) ;

  gtk_main() ;

  return 0 ;
  
}

|
试试这个(部分代码)

GtkWidget *window;
GtkWidget *image;
GtkWidget *frame;

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
image = gtk_image_new_from_file("*.gif");
frame = gtk_frame_new(NULL);

gtk_container_add (GTK_OBJECT(frame), image);
gtk_container_add (GTK_OBJECT(window), frame);

gtk_widget_show_all(window);

|
通知斑竹
叫他帮你解决~~

|
UP

|
up

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • gtk2.0中是不是不能给按钮改变颜色??怎样给当前窗口设置背景颜色和背景图画
  • 请问用gtk开发界面创建窗口,如何更改窗口的背景色和在窗口内画矩形
  • 关于gtk的目录问题,我的目录是 gtk-2.0/gtk/gtk.h ??
  • Redhat linux9.0 下Gtk+编程的#include <gtk/gtk.h>问题
  • 【重要】gtk+ 编译gtk+的问题,不同于一般gtk的搭建--1000分,问题解决了,开号给分,决不食言!大家都来看看
  • gtk 和 gtk+ 有什么区别?
  • centos5.4中安装gtk时,yum库最新版是gtk2.10,如何更新yum库安装gtk2.12
  • 我使用GTK+2.0写界面程序时,怎么找不到gtk.h文件?
  • GTK+ gtk_tree问题
  • gtk for win 和 gtk for linux 下的程序问题?
  • GTK窗口前端显示及GTK窗口闪烁
  • 用GTK开发的程序如何在没有GTK动态连接库的Linux里运行?
  • 【GTK】GTK中有没有这个widget?
  • 我想学习GTK+2.0,请问如何准备GTK编程环境???
  • [GTK] gtk最小化问题与恢复问题
  • 【gtk+】初学gtk+,请教一个问题
  • 【gtk】关于gtk布局问题
  • 本人刚学gtk编程,留下油箱,欢迎喜欢gtk编程的朋友和我交流啊!!!!
  • 大家好,想知道gtk与gtk+有什么区别?
  • 关于GTK中gtk_widget_hide()的问题
  • gtk编程问题,如何在一个线程中向gtk控件发送一个expose_event消息
  • gtk中如何获取gtk_text_view中的输入内容?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3