Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在GtkDialog中创建循环_C++_Gtk - Fatal编程技术网

C++ 在GtkDialog中创建循环

C++ 在GtkDialog中创建循环,c++,gtk,C++,Gtk,我的GtkDialog设置如下: GtkWidget *dialog; dialog = gtk_message_dialog_new(GTK_WINDOW(window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Information"); gtk_window_set_title(GTK_WINDOW(dialog), "Inform

我的GtkDialog设置如下:

GtkWidget *dialog;
dialog = gtk_message_dialog_new(GTK_WINDOW(window),
        GTK_DIALOG_DESTROY_WITH_PARENT,
        GTK_MESSAGE_INFO,
        GTK_BUTTONS_OK,
        "Information");
gtk_window_set_title(GTK_WINDOW(dialog), "Information");
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);

但是,当对话框打开时,我希望有一个无限循环,当按下OK按钮时,该循环将退出。像这样的事情可以实现吗?

只需在do/while循环中运行
gtk\u dialog\u,然后在
while
中测试其返回值。该返回值告诉您按下了哪个按钮(在您的情况下,最有可能是
GTK\u RESPONSE\u ACCEPT


请阅读此处解释的
gtk\u dialog\u run
文档。

只需在do/while循环中运行
gtk\u dialog\u run
,并在
while
中测试其返回值。该返回值告诉您按下了哪个按钮(在您的情况下,最有可能是
GTK\u RESPONSE\u ACCEPT


请阅读
gtk\u dialog\u run
的文档,其中有说明。

请注意,不允许用户改变主意是一种不好的做法,显示取消按钮只是为了嘲弄他更糟糕。正确的解决方案是通过允许用户取消来避免无限循环。请注意,不允许用户改变主意是不好的做法,显示取消按钮只是为了嘲弄他更糟糕。正确的解决方案是通过允许用户取消来避免无限循环。