Python Documentationen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
egon11
User
Beiträge: 354
Registriert: Mittwoch 14. Dezember 2016, 20:59

Ich bin noch kein Profi was Python angeht, deshalb suche ich immer wieder Dokus raus, am meisten suche ich in der offiziellen "docs.python.org", aber oft ist nicht alles Dokumentiert, wie bei tkinter das "filedialog" und deren Parameter Optionen.
Habe jetzt über 3 verschiedene Seiten alles zusammen gesammelt, aber das ist ja nicht sinn der Sache.
Jetzt zur Frage, wo kann ich am besten Python Dokus finden, wo auch alle Module aufgeführt sind?
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@egon11: Das meiste ist gut dokumentiert in der Standardbibliothek. `tkinter` halt nicht. Aber da wird in der Dokumentation gleich am Anfang auf einen ganzen Haufen externer Dokumentation verlinkt. Und bei GUI-Rahmenwerken braucht man eigentlich immer auch die Dokumentation des Originals, also in diesem Fall Tk/Tcl, um sie wirklich richtig zu verstehen. Das ist bei Gtk und Qt ja auch nicht anders.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
egon11
User
Beiträge: 354
Registriert: Mittwoch 14. Dezember 2016, 20:59

Danke, ich möchte nämlich in

Code: Alles auswählen

filedialog.askopenfilename
Alle verstreckte Ordner nicht mit einblenden.
Gibt es da eine Option?
Habe dazu nichts gefunden.
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@egon11: Nun ja, das ist eine interessante Frage ob man das als „es gibt eine Option“ beschreiben kann. Es gibt in `tkfbox.tcl` im Namensraum ``::tk::dialog::file`` zwei globale Variablen, eine um die Anzeige von versteckten Dateien zu steuern und eine um im Dialog eine Checkbox anzuzeigen über die der Benutzer das im Dialog auswählen kann.

Finden kann man das auch nicht mal direkt in der Tk-Dokumentation sondern im Wiki bei den Tcl/Tk-Leuten auf dieser Seite: https://blog.tcl.tk/1060 (nach ”hidden” suchen).

Den Tipp dort:

Code: Alles auswählen

catch {tk_getOpenFile foo bar}
set ::tk::dialog::file::showHiddenVar 0
set ::tk::dialog::file::showHiddenBtn 1
Muss man dann nur noch in Python/`tkinter` übersetzen:

Code: Alles auswählen

#!/usr/bin/env python3
import tkinter as tk
from tkinter.filedialog import askopenfilename


def choose_filename():
    print(askopenfilename())


def main():
    root = tk.Tk()

    #
    # Force the loading of the namespace `tk_getOpenFile` lives in with a non
    # existing option to not actually show the dialog.  And then set the
    # variables in that namespace.
    # 
    try:
        root.tk.call("tk_getOpenFile", "-this_is_a_bad_option")
    except tk.TclError:
        pass
    root.setvar("::tk::dialog::file::showHiddenVar", False)
    root.setvar("::tk::dialog::file::showHiddenBtn", True)

    tk.Button(root, text="Dateinamen wählen", command=choose_filename).pack()
    root.mainloop()


if __name__ == "__main__":
    main()
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
egon11
User
Beiträge: 354
Registriert: Mittwoch 14. Dezember 2016, 20:59

Vielen Dank, genau das funktioniert.
Antworten