关于设置dialog窗口
父窗口创建一个提示的错误dialog,我想实现必须先关闭diaolog窗口才可以
继续操作父窗口,应为父窗口是全屏显示的,如果父窗口覆盖掉dialog窗口,但是
又没有获取到焦点的话,这样就不能进行任何操作了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
父窗口创建一个提示的错误dialog,我想实现必须先关闭diaolog窗口才可以
继续操作父窗口,应为父窗口是全屏显示的,如果父窗口覆盖掉dialog窗口,但是
又没有获取到焦点的话,这样就不能进行任何操作了。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
请问如何在新弹出来的窗口中设置某个控件获得焦点。
gtk_window_set_focus()不行,
必须先点击下新的窗口那个焦点才会落到设置的控件上。
谢谢,跟踪到gtk_message_dialog_new()的创建过程就知道怎样设置父子窗口之间的关系了。
//弹出提示对话框
int result;
GtkWidget *dialog;
dialog = gtk_message_dialog_new(GTK_WINDOW(wbus->window),GTK_DIALOG_MODAL,
GTK_MESSAGE_WARNING,
GTK_BUTTONS_YES_NO,
N_("Are you sure you want to exit the system?"));
//FIXME:调整提示框的位置
//gtk_window_set_gravity(GTK_WINDOW(dialog),GDK_GRAVITY_CENTER);
gtk_window_move(GTK_WINDOW(dialog),wbus->draw_width/2-50,wbus->draw_height/2);
result = gtk_dialog_run(GTK_DIALOG (dialog));
switch(result){
case GTK_RESPONSE_YES:
gtk_widget_destroy(dialog);
gtk_widget_destroy(wbus->window);
return;
default:
break;
}
gtk_widget_destroy(dialog);