Skapa filväljardialog

09Nov08

Jag har börjat jobba på en liten GTK-applikation, och mot bättre vetande har jag börjat skriva den i python, den enda fördelen jag kan se med att skriva koden i python är att jag slipper kompilera om koden för att testa varje lite ändring. Tyvärr så kan jag inte python och mina kunskaper om GTK är ganska begränsade. Det första problemet jag stötte på var att filtrera filerna i filväljaredialog. Jag ville att användaren bara skulle kunna öppna vissa typer av bildfiler. Nu har jag lös problemet och min kod blev så här.

def on_open_clicked(self, widget):
        dialog = gtk.FileChooserDialog("Öppna", None, 
            gtk.FILE_CHOOSER_ACTION_OPEN, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
        gtk.STOCK_OPEN, gtk.RESPONSE_OK))
        filter1 = gtk.FileFilter()
        filter1.set_name("Images")
        filter1.add_mime_type("image/jpeg")
        filter1.add_mime_type("image/png")
        dialog.add_filter(filter1)

        if dialog.run() == gtk.RESPONSE_OK:
            filename = dialog.get_filename()
            name=filename.split('/')
            mdata=[[name[len(name)-1],filename]]
            self.appendList(mdata)
        else:
            print "cansel"

        dialog.destroy()

Nästa steg blir att förfina koden så att man kan öppna flera filer samtidigt.

Referens: pygtk2 tutorial

//Fredrik

About these ads


2 Responses to “Skapa filväljardialog”

  1. 1 Jonas

    “den enda fördelen jag kan se med att skriva koden i python är att jag slipper kompilera om koden för att testa varje lite ändring”
    …du är faktiskt den första jag ser säga så, och eftersom du gör det utgår jag från att du i normala fall programmerar i haskell eller scheme på heltid. Andra tycker annorlunda:

    http://ttsiodras.googlepages.com/yield.html

    För övrigt tycker jag att wxPython är ett smidigare toolkit än gtk, om det nu inte är vissa funktioner i gtk-toolkitet du vill komma åt, eller bygga gränssnittet i xml.

  2. Du har rätt på två punkter wxWidgets (wxPython) är trevligt att jobba med, jag har dock inte testat det i python utan bara C++ och som du säger så är största anledningen till att använda GTK, just att man kan bygga gränssnittet med xml via Glade.

    Haskel eller scheme är inga språk för mig, jag till hör den gamla C/C++ skolan ;)

    //Fredrik


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.

%d bloggers like this: