当前位置: 技术问答>linux和unix
线程函数里不能调用消息对话框吗?(GTK界面)
来源: 互联网 发布时间:2015-05-28
本文导语: 我在一个pthread_create创建的线程函数里想显示一个报错对话框,失败,终端提示如下:Xlib: unexpected async reply (sequence 0xa4a)! 代码如下: GtkWidget *dialog; dialog=gtk_message_dialog_new(NULL,GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PAREN...
我在一个pthread_create创建的线程函数里想显示一个报错对话框,失败,终端提示如下:Xlib: unexpected async reply (sequence 0xa4a)!
代码如下:
GtkWidget *dialog;
dialog=gtk_message_dialog_new(NULL,GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,arg);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
我调试过,是在gtk_dialog_run(GTK_DIALOG(dialog));时报的错。这几行代码在其它非线程函数里运行都没有问题。后来我试过将GTK_DIALOG_DESTROY_WITH_PARENT去掉也不行。
想请教各位,线程函数里不能调用消息对话框吗?可以的话应该怎么写?
谢谢!
代码如下:
GtkWidget *dialog;
dialog=gtk_message_dialog_new(NULL,GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,arg);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
我调试过,是在gtk_dialog_run(GTK_DIALOG(dialog));时报的错。这几行代码在其它非线程函数里运行都没有问题。后来我试过将GTK_DIALOG_DESTROY_WITH_PARENT去掉也不行。
想请教各位,线程函数里不能调用消息对话框吗?可以的话应该怎么写?
谢谢!
|
QT里没有吧,我用得很好啊???????