Friday, May 20, 2016

Tkinter - Wikipedia


Tkinter ist eine Python-Bindung an das Tk-GUI-Toolkit. Es ist die Standardschnittstelle von Python für das Tk-GUI-Toolkit [1] und ist die standardmäßige GUI von Python de facto . [2] Tkinter ist in den Standardinstallationen von Python unter Linux, Microsoft Windows und Mac OS X enthalten.

Der Name Tkinter stammt von Tk-Schnittstelle . Tkinter wurde von Fredrik Lundh geschrieben. [3]

Tkinter ist freie Software, die unter einer Python-Lizenz veröffentlicht wird. [4]

Beschreibung [ edit

As mit Bei den meisten anderen modernen Tk-Bindungen ist Tkinter als Python-Wrapper für einen vollständigen Tcl-Interpreter implementiert, der in den Python-Interpreter eingebettet ist. Tkinter-Aufrufe werden in Tcl-Befehle übersetzt, die diesem eingebetteten Interpreter zugeführt werden. Dadurch können Python und Tcl in einer einzigen Anwendung gemischt werden.

Python 2.7 und Python 3.1 enthalten die "themenorientierte Tk" ("ttk") - Funktionalität von Tk 8.5. [5][6] Dadurch können Tk-Widgets leicht thematisch so gestaltet werden, dass sie wie die native Desktop-Umgebung aussehen, in der die Anwendung ausgeführt wird eine langjährige Kritik an Tk (und damit an Tkinter).

Es gibt verschiedene populäre GUI-Bibliotheksalternativen, wie z. B. wxPython, PyQt (PySide), Pygame, Pyglet und PyGTK.

Einige Definitionen [ edit ]

Window [ edit ]

Dieser Begriff hat unterschiedliche Bedeutungen in verschiedenen Zusammenhängen, bezieht sich aber im Allgemeinen auf verschiedene Bedeutungen irgendwo auf dem Bildschirm des Benutzers.

Fenster der obersten Ebene [ edit ]

Ein Fenster, das unabhängig auf dem Bildschirm angezeigt wird. Es wird mit dem Standardrahmen und den Bedienelementen für den Desktop Manager versehen. Es kann auf dem Desktop verschoben werden und kann normalerweise in der Größe geändert werden.

Widget [ edit ]

Der Oberbegriff für einen der Bausteine, aus denen eine Anwendung in einer grafischen Benutzeroberfläche besteht.

  • Kern-Widgets: Die Container: Frame, Toplevel, Paned-Fenster. Die Schaltflächen: Schaltfläche, Radiobutton, Checkbutton (Kontrollkästchen), Menütaste (Kombinationsfeld). Die Text-Widgets: Beschriftung, Beschriftungsrahmen, Nachricht, Text. Die Eintrags-Widgets: Maßstab, Bildlauf, Listenfeld, Schieberegler, Drehfeld, Eintrag (einzeilig), Text (mehrzeilig) und Leinwand (Vektor- und Pixelgrafik).
  • Es gibt die Erweiterungs-Widgets: tk_optionMenu, tk_dialog, tk_messageBox, tk_getOpenFile, tk_getSaveFile, tk_chooseColor, tk_chooseDirectory.
  • Die ttk-Widgets: Die ttk-Widgets koexistieren mit anderen Widgets, die sie ersetzen können. [7] Es gibt ttk :: button, ttk :: checkbutton, ttk :: combobox, ttk :: entry, ttk :: frame, ttk :: label, ttk :: labelframe, ttk :: menubutton, ttk :: notebook, ttk :: panedwindow, ttk :: progressbar, ttk :: radiobutton, ttk :: scale, ttk :: scrollbar, ttk :: separator, ttk :: sizegrip, ttk :: spinbox, ttk :: treeview.

[8][9]

Frame [ edit ]

In Tkinter ist das Frame-Widget die Basiseinheit von Organisation für komplexe Layouts. Ein Rahmen ist ein rechteckiger Bereich, der andere Widgets enthalten kann.

Kind und Elternteil [ edit ]

Wenn ein Widget erstellt wird, wird eine Eltern-Kind-Beziehung erstellt. Wenn Sie beispielsweise eine Textbeschriftung in einen Rahmen einfügen, ist der Rahmen das übergeordnete Element der Beschriftung.

Eine minimale Anwendung [ edit ]

Hier ist eine minimale Python 3-Tkinter-Anwendung mit einem Widget: [10] (Für Python 2 ist der einzige Unterschied das Wort "tkinter") Im Importbefehl wird "Tkinter" groß geschrieben.)

 1  #! / Usr / bin / env python3   2  aus   tkinter   import   *   3  =   =   =   =   ] Tk  ()  							 # Erstellen Sie das Wurzelfenster (Basisfenster)   4  w   =   Label  (19659045] root     =  "Hallo, Welt!" )  	 # Erstellen Sie ein Etikett mit Worten   5  w .  pack  ()  								 # Legen Sie das Etikett in das Fenster   6  root .  mainloop  ()  						 # Starten Sie die Ereignisschleife  

[11]

Process [ edit ]]

Ein Widget kann in vier Schritten erstellt werden

Create
Erstellen Sie es innerhalb eines Frames.
Konfigurieren Sie
Ändern der Widgets-Attribute.
Packen
Packen Sie es in Position, damit es sichtbar wird.
Binden
Binden an eine Funktion oder Veranstaltung. [9]

Diese werden häufig komprimiert und die Reihenfolge kann variieren.

Einfache Anwendung [ edit ]

Unter Verwendung des objektorientierten Paradigmas in Python wäre ein einfaches Programm:

 1  #! / Usr / bin / env python3   2  import   tkinter   als   tk   3   4   4   Anwendung  ( tk .  Frame ):   5   6      def   __ init     master  =  None ):   7          super  ( Anmeldung   selbst ) .  __ init __  ( master )   8          self .  grid  ()      9          self [196595958]. 19659045] createWidgets  ()   10   11      def   createWidgets  ( self ):   12 [19659909] self [19659909]. 19659045] mondialLabel   =   tk .  Label  ( self   Text  = .   13 [19659129] self .  mondialLabel .  config  (19659045] bg  =  # 00ffff  14   14 ] .  mondialLabel .  grid  ()   15          self .  quitButton   =   tk   tk  . 19659045] Button  ( self   Text  =  'Quit'   Befehl  =  = [5][6] . 19659045] quit )   16          self .  quitButton .  Raster  (19659039] 17   17   17   ] =   Anwendung  ()   19  App  Master .  Titel  ( "Musteranmeldung" ).   20  app .  mainloop  ()  
  • Zeile 1: Hashbang-Direktive an den Programm-Launcher, wodurch die Auswahl eines geeigneten Interpreters ermöglicht wird e xecutable, wenn er sich selbst ausführt [12]
  • Zeile 2: Diese Zeile importiert das Modul tkinter in den Namensraum Ihres Programms, benennt es jedoch in tk um.
  • Zeile 4: Die Anwendungsklasse erbt von Tkinters Frame-Klasse
  • Zeile 6: Ruft den Konstruktor für die übergeordnete Klasse Frame auf.
  • Zeile 7: Dies ist erforderlich, damit die Anwendung tatsächlich auf dem Bildschirm erscheint.
  • Zeile 11: Definieren der Widgets [19659024] Zeile 12: Erstellt ein Label mit dem Namen "MondialLabel" mit dem Text "Hello World"
  • . Zeile 13: Setzt die Hintergrundfarbe von MondialLabel auf Cyan
  • . Zeile 14: Platziert das Label in der Anwendung, sodass es mithilfe der Rastergeometrie sichtbar wird Manager-Methode
  • Zeile 15: Erstellt eine Schaltfläche mit der Bezeichnung "Quit".
  • Zeile 16: Platziert die Schaltfläche in der Anwendung. Raster, Platzieren und Packen sind alle Methoden, um das Widget sichtbar zu machen. Zeile 19: Das Hauptprogramm beginnt hier mit der Instanziierung der Klasse Application. Zeile 19
  • : Dieser Methodenaufruf setzt den Titel des Fensters auf "Beispielanwendung".
  • Zeile 20: Startet die Hauptschleife der Anwendung und wartet auf Maus- und Tastaturereignisse.

Ttk-Erweiterung [ edit ]

Diese Ttk-Erweiterungen sind jetzt einfach ein Teil der TK-Paket, seit 8.5a6 + enthalten. [7]

Widgets

ttk :: button, ttk :: checkbutton, ttk :: combobox, ttk :: entry, ttk :: frame, ttk :: label, ttk :: labelframe, ttk :: menubutton, ttk :: notebook, ttk :: panedwindow, ttk :: progressbar, ttk :: radiobutton, ttk :: scale, ttk :: scrollbar, ttk :: separator, ttk :: sizegrip, ttk :: spinbox, ttk :: treeview.

Styles

Elemente

ttk_image, ttk_vsapi.

Themes

ttk :: theme :: alt, ttk :: theme :: muschel, ttk :: theme :: classic, ttk :: theme :: default,

verschiedene TTK-Themen

Schwarze TTK-Themen, waldorf ttk thema, ttk :: setTheme. [7]

Verweise [ edit ]

Externe Links [ edit

No comments:

Post a Comment