Ein Durchsuchen Button

Fragen zu Tkinter.
Antworten
IgelaufReisen
User
Beiträge: 49
Registriert: Montag 29. Oktober 2007, 20:10
Wohnort: Berlin
Kontaktdaten:

Sonntag 11. November 2007, 18:38

Hallöchen liebe Community.
Ich wollte mal fragen, wie es möglich ist, einen Button zu realisieren, der meinetwegen auch an nem Entry hängt, in dem das Ergebnis dann erscheint, mit dem ich Dateien durchsuchen und auswählen kann.
Also so ein typischer "durchsuchen..." Button, wie man ihn beispielsweise bei Installationen findet. Das ganze unter der Verwendung von Tkinter.
Danke im Vorraus.
Gruß, der Igel
BlackJack

Sonntag 11. November 2007, 19:43

Kann es sein, dass Du das `FileDialog`-Modul suchst!?
IgelaufReisen
User
Beiträge: 49
Registriert: Montag 29. Oktober 2007, 20:10
Wohnort: Berlin
Kontaktdaten:

Sonntag 11. November 2007, 19:58

Glaube schon, aber das läuft doch nur mit wxpython, oder? Gibt es nicht auch eine Tkinter-Version?
BlackJack

Sonntag 11. November 2007, 21:21

Das ist ein Tkinter-Dialog. Wenn es wxPython wäre, würde es ja `wx.FileDialog` heissen.
IgelaufReisen
User
Beiträge: 49
Registriert: Montag 29. Oktober 2007, 20:10
Wohnort: Berlin
Kontaktdaten:

Sonntag 11. November 2007, 22:28

Ok, habs jetzt richtig gefunden.
Kam bei der Suche erst sehr viel mit wxpython.
Aber so klappt es. Danke dafür.

Hier ein Auszug aus meinem Programm

Code: Alles auswählen

self.opt5 = Entry(self.karl2)
self.opt5.grid(row=3,column=2,columnspan=3)
self.opt3 = Button(self.karl2,text='Durchsuchen...',command=tkFileDialog.askdirectory)
self.opt3.grid(row=4,column=2,columnspan=3,sticky=W)
Wie bekomme ich aber nun den gewählten Ordner in das Entryfeld?
Benutzeravatar
kaytec
User
Beiträge: 544
Registriert: Dienstag 13. Februar 2007, 21:57

Montag 12. November 2007, 07:35

Hallo Igel !

Den Pfad kannst du noch mit 'split()' teilen, damit du nur den Dateiname im Entry hast.

Code: Alles auswählen

#! /usr/bin/env python
# -*- coding: utf-8

import Tkinter as tk
import tkFileDialog

def durchsuchen():
    pfad = tkFileDialog.askopenfilename()
    opt1.insert(0, pfad)
    
fenster = tk.Tk()
opt1 = tk.Entry(fenster, width=20)
opt1.grid(row=0, column=0)
opt2 = tk.Button(fenster,text='Durchsuchen...',command =durchsuchen)
opt2.grid(row=0, column=1)
fenster.mainloop()
gruß frank
IgelaufReisen
User
Beiträge: 49
Registriert: Montag 29. Oktober 2007, 20:10
Wohnort: Berlin
Kontaktdaten:

Montag 12. November 2007, 10:50

Cool.
Nee, Splitten brauch ich nichts.
Soll das ganze Verzeichnis anzeigen.
Also so is alles perfekt.
Hab es eingebaut und es funktioniert!
Ganz großes Danke!!
Antworten