Was macht die Funktion "tk.call" in Python / Tkinter?

8

Ich habe Call-Funktionen in Python-Skripten namens aufgerufen tk.call() , aber ich verstehe nicht die Bedeutung des gleichen. Es gibt auch keine Dokumentation dazu.

Kann jemand bitte über die Funktionalität von call() function erklären.

Dies ist ein einfaches Beispiel:

%Vor%

Die Funktionalität dieser Funktion, wobei p das Widget PhotoImage ist.

    
Abhishake gupta 21.02.2015, 09:11
quelle

2 Antworten

9

Tkinter ist kein reiner Python. Zugrunde liegt ein Live-Tcl-Interpreter mit einer Erweiterung "tk", die in den Interpreter geladen wird. Die meisten Tkinter-Befehle, -Methoden und -Objekte enden schließlich als Aufrufe von tcl-Befehlen. Zum Beispiel, wenn Sie etwas tun wie:

%Vor%

... es wird in etwas (ungefähr) wie folgt übersetzt:

%Vor%

(Hinweis: Tkinter erzeugt tatsächlich komplexere Namen als .f und .f.b , aber das Konzept ist dasselbe)

Die Methode call ist die Schnittstelle zu diesem zugrunde liegenden tcl-Interpreter. Sie können einen Tcl-Befehl erstellen und den Interpreter bitten, ihn auszuführen. Es ist eine Brücke zwischen Python und Tcl.

Es wird normalerweise nicht in Code auf Anwendungsebene verwendet, obwohl es in den seltenen Fällen nützlich sein kann, in denen der Tkinter-Wrapper um tcl / tk keinen Zugriff auf einige von tcl / tk unterstützte Funktionen bietet.

    
Bryan Oakley 18.03.2015, 17:27
quelle
4

Tk.call() stammt aus dem Tkinter-Modul und kann zur Ausführung von tcl -basierte Befehle direkt von einem Tkinter-Widget. Beispiel Tkinter Befehl, um das Betriebssystem des Benutzers zu erhalten:

%Vor%

Wo windowingsystem ein Feature von tcl ist.

Soweit ich weiß, gibt es keine offizielle Dokumentation für tk.call() .

    
Leafthecat 21.02.2015 11:53
quelle

Tags und Links