Вы можете использовать сигнал "selection-changed"
следующим образом:
def selection_changed (filechooser, udata):
print ("selected ", filechooser.get_filename()) # GtkFileChooser method
if True: # some selection checking
filechooser.response(Gtk.ResponseType.OK) # GtkDialog method
dialog = Gtk.FileChooserDialog(...)
dialog.connect ("selection-changed", selection_changed, None)
response = dialog.run()
if response == Gtk.ResponseType.OK:
pass
elif response == Gtk.ResponseType.CANCEL:
pass
dialog.destroy()
Но этот сигнал испускается каждый раз, когда пользователь взаимодействует с filechooser, даже когда пользователь меняет папку с помощью кнопок breadcrumb , Вам решать, будет ли пора ответить «ОК», «Отмена» или вообще не отвечать.
Кроме того, пользователь может быть сбит с толку, что диалоговое окно, требующее нажатия Ok
или Enter
буквально любое другое приложение ведет себя иначе в вашем приложении.