QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6359|回复: 19

怎样实现用GTK编程将窗口隐藏,并以图标形式显示在系统托盘?

[复制链接]
发表于 2005-11-2 14:12:03 | 显示全部楼层 |阅读模式
怎样实现用GTK编程将窗口隐藏,并以图标形式显示在系统托盘的地方,就像Lumaqq一样,可以隐藏主窗口,并以小图标提示?

很想知道怎样编写这样的东东..我现在在写一个小程序,需要这样的功能..
哪位大侠知道麻烦给我讲一讲!!!
谢谢!
 楼主| 发表于 2005-11-2 18:42:43 | 显示全部楼层
没有人知道吗???
我自己来顶一下!!!!!
回复

使用道具 举报

发表于 2005-11-3 09:36:57 | 显示全部楼层
没跟gnome、kde打过交道。
回复

使用道具 举报

发表于 2005-11-3 09:43:24 | 显示全部楼层
不过gtk窗口最小化时会收到unmap_event事件,关闭时会收到delete_event事件。
回复

使用道具 举报

 楼主| 发表于 2005-11-3 12:23:37 | 显示全部楼层
有没有人知道啊???
告诉我一声啊!
我都快找疯了,还是没找到.
回复

使用道具 举报

发表于 2005-11-3 17:24:52 | 显示全部楼层
http://www.gnome.org/projects/ORBit2/appletstutorial.html
回复

使用道具 举报

发表于 2005-11-3 17:31:29 | 显示全部楼层
看星际译王的源码
回复

使用道具 举报

发表于 2005-11-3 18:04:25 | 显示全部楼层
其实也不难,不过只能用于gtk2
[code:1]
#include <gtk/gtk.h>
#include "eggtrayicon.h"
int
main()
{
  EggTrayIcon *docklet;
  GtkWidget *button;
  gtk_init (NULL,NULL);

  docklet=egg_tray_icon_new("test");
  button=gtk_button_new_with_label("hello");
  gtk_container_add(GTK_CONTAINER(docklet),button);
  gtk_widget_show_all(GTK_WIDGET(docklet));
  gtk_signal_connect (GTK_OBJECT (button), "clicked",
          GTK_SIGNAL_FUNC (gtk_main_quit),NULL);
  gtk_main ();
  return 0;
}
[/code:1]

gcc main.c eggtrayicon.c `pkg-config --libs --cflags gtk+-2.0` -o test

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2005-11-3 19:16:46 | 显示全部楼层
那个eggtrayicon.h头文件是哪里来的??????
是自己写的?
回复

使用道具 举报

发表于 2005-11-3 19:51:05 | 显示全部楼层
http://www.gnome-cn.org/documents/tutorial/system-tray-icon-application/add-tray-widget/tutorialpage_view
回复

使用道具 举报

 楼主| 发表于 2005-11-3 20:21:37 | 显示全部楼层
谢谢mozilla!!!!
太感谢了!!!!
回复

使用道具 举报

 楼主| 发表于 2005-11-3 22:39:03 | 显示全部楼层
我编译的时候总是提示找不到config.h这个文件..
这个文件是哪里来的啊????
自己生成的??
还有.
mozilla给的那个源码编译还是通不过.
也是一样的问题..
eggtrayicon.c  eggtrayicon.h  main.c
[root@travis client]# gcc main.c eggtrayicon.c `pkg-config --libs --cflags gtk+-2.0` -o test
eggtrayicon.c:21:20: error: config.h: 没有那个文件或目录
eggtrayicon.c: 在函数 ‘egg_tray_icon_class_init’ 中:
eggtrayicon.c:127: 错误:‘GETTEXT_PACKAGE’ 未声明 (在此函数内第一次使用)
eggtrayicon.c:127: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
eggtrayicon.c:127: 错误:所在的函数内只报告一次。)
回复

使用道具 举报

发表于 2005-11-4 09:39:57 | 显示全部楼层
由于你没有使用 auto* 工具创建一个完整的项目,所以找不到 config.h, 你可以把他注释掉再试试。
回复

使用道具 举报

发表于 2005-11-4 09:45:27 | 显示全部楼层
“eggtrayicon.c:21:20: error: config.h: 没有那个文件或目录 ”
eggtrayicon.c里没有包含config.h啊
“eggtrayicon.c:127: 错误:‘GETTEXT_PACKAGE’ 未声明 (在此函数内第一次使用) ”
eggtrayicon.c里也没用到这个宏。
你看看你用的那个eggtrayicon.c的21行和127行是什么东西?
你用的肯定不是我上传那个。
回复

使用道具 举报

发表于 2005-11-4 09:58:11 | 显示全部楼层
你用的肯定是从gnome-cn上下载的。
我上传那个是从星际译王里拷贝出来的。

另外这个程序在kde下也管用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-27 00:54 , Processed in 0.062371 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表