GTK +의 GtkFileChooserDialog을 사용하여 사용자가 파일 또는 폴더를 선택할 수 있도록 허용하려면 어떻게해야합니까 (둘 다 유효합니다). actions available은 상호 배타적입니다.GtkFileChooserDialog를 사용하여 파일 또는 폴더 선택
3
A
답변
5
나는 이것이 가능하다고 생각하지 않습니다.
나는 Transmission에서 "torrent 만들기"대화 상자에서 이걸 가지고 놀았고 radibox를 사용하여 파일 모드에서 하나와 폴더 모드에서 두 개의 chooserdialogbutton 중 하나를 사용할 수 있도록 감았습니다.
1
다른 버튼을 추가 할 수 있습니다. 어떻게 할 수 있는지 보여주는 작은 예제가 있습니다. 파일을 선택하면 내 예제에서 "선택"버튼을 "열기"와 같은 행동을한다는 것을
void filechooser(GtkWidget* widget, gpointer data) {
// we will pass the filepath by reference
string* filepath = (string*) data;
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 a button which allows the user to select a folder
const guint selected = 0; // response from the button
gtk_dialog_add_button(GTK_DIALOG(dialog),"Select",selected);
// get the path the user selected
guint response = gtk_dialog_run(GTK_DIALOG(dialog));
if(response == GTK_RESPONSE_ACCEPT || response == selected){
*filepath = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
}
gtk_widget_destroy(dialog);
}
참고 만 정말 다른 폴더입니다.