gtk.FileChooserDialog
Verfasst: Freitag 8. Oktober 2010, 16:22
Hi,
ich probiere mich heute ein wenig an gtk - ich habe mir mal einiges an Tutorial durchgelesen und ein paar kleine Beispielprogramme angeschaut. Nun dachte ich ich könnte mal mit einem kleinen Script anfangen. Aber ich fürchte ich mache noch einige Anfängerfehler - Momentan hänge ich beim gtk.FileChooserDialog. Ich habe im Netz ein kleines snipped gefunden das auch so läuft:
Nun wollte ich das ganze in einer kleinen Anwendung verwenden.
wird nun duch klick auf einen Button in meiner GUI der Dialog aufgerufen wird dieser auch angezeigt. Allerdings funktionieren die Buttons (Abbrechen, OK) im Dialog nicht. Wenn ich die benutzte passiert nichts nur über das x zum schließen des Fensters kann ich den Dialog beenden.
Wenn ich allerdings die gesamte Methode ``on_button1_clicked`` in eine Funktion ausserhalb der Klasse ``MyGUI`` auslagere ist wieder alles in Ordnung und der Dialog funktionert wie gewohnt.
Ich bin ein wenig verwirrt - was mache ich hier falsch?
ich probiere mich heute ein wenig an gtk - ich habe mir mal einiges an Tutorial durchgelesen und ein paar kleine Beispielprogramme angeschaut. Nun dachte ich ich könnte mal mit einem kleinen Script anfangen. Aber ich fürchte ich mache noch einige Anfängerfehler - Momentan hänge ich beim gtk.FileChooserDialog. Ich habe im Netz ein kleines snipped gefunden das auch so läuft:
Code: Alles auswählen
import gtk
dlg = gtk.FileChooserDialog(title='script suchen',
action=gtk.FILE_CHOOSER_ACTION_OPEN,
buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT,
gtk.STOCK_OK, gtk.RESPONSE_OK))
result = dlg.run()
print result
print dlg.get_filename()
Code: Alles auswählen
class MyGUI(object):
def __init__(self):
self.builder = gtk.Builder()
self.builder.add_from_file('GUI.glade')
self.builder.connect_signals(self)
self.win = self.builder.get_object('window1')
def run(self):
gtk.main()
def quit(self):
gtk.main_quit()
def on_window1_delete_event(self, *args):
self.quit()
def on_button1_clicked(self, *args):
dlg = gtk.FileChooserDialog(title='script suchen',
action=gtk.FILE_CHOOSER_ACTION_OPEN,
buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT,
gtk.STOCK_OK, gtk.RESPONSE_OK))
dlg.set_default_response(gtk.RESPONSE_OK)
result = dlg.run()
print result
print dlg.get_filename()
Wenn ich allerdings die gesamte Methode ``on_button1_clicked`` in eine Funktion ausserhalb der Klasse ``MyGUI`` auslagere ist wieder alles in Ordnung und der Dialog funktionert wie gewohnt.
Ich bin ein wenig verwirrt - was mache ich hier falsch?