当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : glade编程中指针传递
帖子发表于 : 2008-10-28 10:03 

注册: 2008-07-10 15:08
帖子: 448
送出感谢: 0 次
接收感谢: 0 次
在glade中想用线程函数
void *thread_fun(void* pParm)
{
while(1){
GtkWidget* entry=(GtkWidget*)pParm;
static GtkTextBuffer *recv_show;
recv_show=gtk_text_view_get_buffer(GTK_TEXT_VIEW(entry));
GtkTextIter iter_end;
gtk_text_buffer_get_end_iter(recv_show,&iter_end);
gtk_text_buffer_insert(recv_show,&iter_end,"nihao",-1);
}
return (void*)0;
}
gboolean
on_dialog_map_event (GtkWidget *widget,
GdkEvent *event,
gpointer user_data)
{
GtkWidget* entry=lookup_widget(GTK_WIDGET(widget),"textview_show");
pthread_t thread_id;
pthread_create(&thread_id,NULL,thread_fun,&entry);
return FALSE;
}
on_dialog_map_event()函数响应窗口dialog 的map_event信号,textview_show是dialog窗口中的一个textview,
该线程函数主要就是想在dialog窗口被map的时候开启一个线程,在其上面的一个textview中不断插入字符串“你好”
,编译没有错误,但是运行的时候,textview中不能显示字符串“你好”,终端有错误提示:
(chat:5769): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkTextView'

(chat:5769): Gtk-CRITICAL **: gtk_text_view_get_buffer: assertion `GTK_IS_TEXT_VIEW (text_view)' failed

(chat:5769): Gtk-CRITICAL **: gtk_text_buffer_get_end_iter: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed

(chat:5769): Gtk-CRITICAL **: gtk_text_buffer_insert: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed


哪位高手给指点一下,谢谢!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译