c++ - 在 GTK+ 中创建关闭对话框的取消按钮的正确方法是什么?

标签 c++ gtk gtk3

问题是针对 C++ 中的 GTK+ 编程。 我有一个主窗口,带有一个激活对话窗口的按钮。对话框窗口有 OK 和 CANCEL 按钮。我是这样做的,所以当我点击取消按钮时,对话框会关闭。但是一旦关闭,我就无法使用主窗口中的按钮再次调用它。

我尝试在单击按钮时调用对话框 delete-event。我还尝试在单击按钮时调用对话框 destroy event。但在这两种情况下,对话框都被破坏了,当我单击调用对话框的按钮时它不会显示。

最佳答案

我想这是对您关于该主题的其他问题的跟进: How to properly close a dialog made in Glade?

如果它是使用 GtkBuilder 创建的,如果您销毁窗口,它就真的被销毁了:GtkBuilder 在解析时创建了小部件,而不是在您调用 时get_object,并且不会再次创建它们。所以我认为您应该使用 gtk_widget_hide_on_delete 之类的东西隐藏对话框,然后在您单击主对话框中的按钮时再次显示它。

关于c++ - 在 GTK+ 中创建关闭对话框的取消按钮的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46572620/

相关文章:

c++ - 如何为 size_t 以外的返回类型专门化 std::hash 调用运算符?

c++ - 非静态成员引用必须相对于特定对象?

linux - 验证 GTK 应用以 root 权限运行

c - 如何获取激活行的数据 GTK+ C

java - 如何防止此结构在 JNI 调用中泄漏内存?

c++ - 为什么 `initializer_list<pair>` 和 `initializer_list<tuple>` 的行为不同?

python - 配置错误 --- gobject ---- 找不到 python header

memory - 识别导致 strace 挂起的文件

css - GTK3 使用带有 ID 的 CSS 从 GtkEntry 中移除蓝框

python - 在 gtk3/python 中创建打印作业