【发布时间】:2010-07-03 09:09:22
【问题描述】:
使用 GTK+ 的 GtkFileChooserDialog,我如何允许用户选择文件或文件夹(两者都在这里有效)。 actions available 是互斥的。
【问题讨论】:
标签: ubuntu gtk pygtk filechooser
使用 GTK+ 的 GtkFileChooserDialog,我如何允许用户选择文件或文件夹(两者都在这里有效)。 actions available 是互斥的。
【问题讨论】:
标签: ubuntu gtk pygtk filechooser
很遗憾,我认为这是不可能的。
我在传输中的“创建种子”对话框中玩了一下这个,最后使用一个radibox来启用两个选择对话框按钮之一,一个在文件模式下,另一个在文件夹模式下。
【讨论】:
您可以添加另一个按钮。这是一个小的示例文件选择器窗口,它有一个“打开”按钮,用于打开文件或文件夹,“选择”按钮用于选择文件。
void filechooser(GtkWidget* widget, gpointer gFilepath) {
// create the dialogue with an "Open" button
string* filepath = (string*) gFilepath;
GtkWidget *dialog = gtk_file_chooser_dialog_new(
"Open File",
NULL,
GTK_FILE_CHOOSER_ACTION_OPEN,
GTK_STOCK_CANCEL,
GTK_RESPONSE_CANCEL,
GTK_STOCK_OPEN,
GTK_RESPONSE_ACCEPT, NULL);
// add the additional "Select" button
const guint MY_SELECTED = 0;
gtk_dialog_add_button(GTK_DIALOG(dialog), "Select", MY_SELECTED);
guint response = gtk_dialog_run(GTK_DIALOG(dialog));
if(response == GTK_RESPONSE_ACCEPT || response == MY_SELECTED){
*filepath = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
}
gtk_widget_destroy(dialog);
}
【讨论】: