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

想请问一个gtklist选中行的问题

    来源: 互联网  发布时间:2016-06-30

    本文导语:  我写了一个gtklist 在选中时要印出选中行的资料  但印出来的都是选中行的上一列 比如说 在list里的资料是 1280x800 1280x768 1024x800 800x600 当我选中1024x800时 印出来的却是800x600 选中1280x768 印出来是1024x800 以下是我的code...

我写了一个gtklist
在选中时要印出选中行的资料 
但印出来的都是选中行的上一列
比如说 在list里的资料是
1280x800
1280x768
1024x800
800x600

当我选中1024x800时
印出来的却是800x600

选中1280x768
印出来是1024x800

以下是我的code
烦请大大们帮我解答一下

int dis_ecsapiGetResolution ()
{
FILE *pp;
char str[128];
GtkWidget *list_item;
GList   *dlist = NULL;
GtkWidget  *clist;
int i = 0;
int temp;
GtkWidget       *label;
        gchar           *string;
//GtkWidget *selected;

//selected = GTK_LIST(list)->selection->data;


system("/root/.ecs/shell/mon_resolution.sh /root/.ecs/config/resolution.st > /root/.ecs/tmp/mon_resolution.st");
pp=fopen(DIS_RESOLUTONPATH, "r");
if (pp == NULL)
{
perror("memory");
return -1;
}

while(!feof(pp))
{
while(fgets(str, 128, pp))
{
str[strlen(str)-1] = str[strlen(str)];

if(!strcmp(str, current_str))
{
temp = i;
//g_print("%dn",i);
}

list_item = gtk_list_item_new_with_label(str);

dlist=g_list_append(dlist, list_item);
gtk_widget_show(list_item);
gtk_object_set_data(GTK_OBJECT(list_item),"a",str);

//label = gtk_label_new(str);
//list_item = gtk_list_item_new();
//gtk_container_add(GTK_CONTAINER(list_item), label);
//gtk_widget_show(label);
//gtk_container_add(GTK_CONTAINER(monitor_list), list_item);
//gtk_widget_show(list_item);
//gtk_label_get(GTK_LABEL(label), &string);
//g_object_set_data(G_OBJECT(list_item),
// "a",
// string);

i++;
}
}
gtk_list_append_items(GTK_LIST(monitor_list), dlist);

gtk_list_select_item(GTK_LIST(monitor_list), temp);
fclose(pp);
}

void mon_select_item(GtkList *list, gpointer *data)
{
int i = 0;
GtkWidget *selected;
GList *dlist;


dlist = GTK_LIST(list)->selection;
while(dlist)
{
//selected = GTK_LIST(list)->selection->data;
GObject       *list_item;


list_item = G_OBJECT(dlist->data);
item_data_string = g_object_get_data(G_OBJECT(list_item), "a");
g_print("%s n", item_data_string);
//selected = selected->next;
//g_print("bbn");
dlist = dlist->next;

}


}

monitor_list = gtk_list_new();
gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledwindow), 
monitor_list);
gtk_widget_show (monitor_list);

dis_ecsapiGetResolution();

gtk_signal_connect (GTK_OBJECT (monitor_list), "select_child", 
GTK_SIGNAL_FUNC(mon_select_item), NULL);

感激不敬啊

|


 是不是焦点 切换的问题?

|
GtkList has been deprecated since GTK+ 2.0 and should not be used in newly written code. Use GtkTreeView instead.

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












  • 相关文章推荐
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问linux下GUI开发的问题!
  • 请问一个奇怪的问题!
  • 非常急! 请问daemontools 在red hat 9下的安装问题? 在线等待
  • 请问安装zhcon,cxterm问题
  • 请问如何在一台单机上装VMware的网络访问问题?
  • 请问adduser的一个问题!
  • 请问在Jbuilder 7中, 做swing界面, 用JDK1.4,怎么解决中文显示问题?
  • 请问一个很菜的问题
  • 请问关于为redhat7.2设置多IP问题?急!
  • 请问一个简单问题!
  • 请问一个基本的问题?
  • 请问各位大侠一个关于jar命令问题
  • 请问高手___redhat7.3安装问题
  • 正想学linux 请问red hat版本之间的问题
  • 请问这里可以讨论MINIX的问题吗?
  • 请问FreeBSD拨号问题
  • 请问这个问题怎么解决啊?
  • 今天搞来一台Solaris,真高兴啊,请问一些问题,怎么退出TELNET?
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!
  • 主机是WIN2000,我用的是LUNIX,请问是否可以共享上网? 如果可以请问如何设置? 500分答谢,龟儿食言!
  • 请问出现fstab文件丢失该怎么修复呀?


  • 站内导航:


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

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

    浙ICP备11055608号-3