【问题标题】:gtk+ : GtkFileChooserDialog hide some widgetsgtk+ : GtkFileChooserDialog 隐藏一些小部件
【发布时间】:2011-08-29 11:28:44
【问题描述】:

我的 GtkFileChooserDialog 有点问题。

我想隐藏收藏夹面板(左侧的小部件)。

于是我开始获取GtkFileChooserDialog的GtkVBox, 现在我想找回它的孩子并打它, 但我找不到它的孩子。

这是我的代码:

my_dialog = gtk_file_chooser_dialog_new("Hop", NULL, GTK_FILE_CHOOSER_ACTION_OPEN,GTK_STOCK_CANCEL);
button = gtk_file_chooser_button_new_with_dialog(my_dialog);

children_dial = gtk_container_get_children(GTK_CONTAINER(my_dialog));
v_dial = GTK_VBOX(children_dial->data);

v_children = gtk_container_get_children(GTK_CONTAINER(v_dial));

所以如果有人有想法,

谢谢。

【问题讨论】:

  • 我鼓励您查看 gtk+ 代码。以及一些提示。 GtkFileChooseDialogGtkDialog,它在其 content-area 中打包了一个 GtkFileChooserWidget。所以我建议你阅读它是如何实现GtkFileChooserWidget的,并深入研究它的代码。一个微小的线索,您正在寻找的代码在 gtkfilechooserdefault.c

标签: c gtk


【解决方案1】:

GtkFileChooserDialogGtkFileChooserWidget 的子代是“内部”子代,这意味着您不能这样检索它们。您不应该与它们混淆,因为它们在未来的版本中可能会以不同的方式实现。但是,您可以使用gtk_container_forall() 访问它们。

为什么要隐藏收藏夹面板?除非你有充分的理由,否则仅仅因为你不喜欢左边的面板就改变用户期望的标准文件对话框是糟糕的用户界面设计。

【讨论】: