Tkinter

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 18. marts 2017; checks kræver 20 redigeringer .

Tkinter (fra engelsk  Tk inter face ) er et hændelsesdrevet grafikbibliotek på tværs af platforme baseret på Tk -værktøjer (udbredt i verden af ​​GNU / Linux og andre UNIX -lignende systemer, også porteret til Microsoft Windows ), skrevet af Steen Lumholt (Steen Lumholt) og Guido van Rossum [1] . Inkluderet i Python- standardbiblioteket .

Tkinter er gratis software distribueret under en Python -licens [2]  .

Udnævnelse

Biblioteket er designet til at organisere dialoger i et program ved hjælp af en grafisk grænseflade ( GUI ) med vinduer. Biblioteket indeholder almindelige grafiske komponenter:

Det skal også bemærkes, at Python har et sæt yderligere værktøjer i følgende moduler:

Eksempel: Hello World-program

fra tkinter import * root = Tk () rod . titel ( "Hej verden!" ) rod . geometri ( '300x40' ) def button_clicked (): print ( "Hej verden!" ) defclose ( ): rod . ødelægge () rod . afslutte () button = Button ( root , text = "Press Me" , command = button_clicked ) knap . pakke ( fyld = BEGGE ) rod . protokol ( 'WM_DELETE_WINDOW' , luk ) rod . hovedsløjfe ()

Parsing af programmet

Ovenstående eksempel viser den enkleste GUI-applikation i Python. Den første linje i programmet importerer tkinter-modulet (før version 3.1 af Python-sproget blev navnet på tkinter-modulet skrevet i kode med stort bogstav - "Tkinter"):

fra tkinter import *

Som et resultat af import i programmets navneområde (script), er der indbygget navne i Tkinter, som kan tilgås direkte. Det skal bemærkes, at masseimport af navne kan føre til deres konflikt. Derudover tager det længere tid for tolken at finde den rigtige på listen over tilgængelige navne.

Følgende kommando opretter programmets rodvindue (herefter vinduet):

root = Tk ()

Følgende kommando ændrer titlen på vinduet:

rod . titel ( "Hej verden!" )

Følgende kommando indstiller vinduesdimensionerne:

rod . geometri ( '300x40' )

Det følgende er definitionen af ​​funktionshandleren for hændelsen "trykt på musen".

def button_clicked (): print ( "Hej verden!" )

Funktionsbehandler af hændelsen "lukker hovedvinduet". Det stopper programmets hovedsløjfe og ødelægger hovedvinduet. Uden det kan programmet kun lukkes, hvis Python-fortolkerprocessen afsluttes. Fordi funktionen bruger den globale variabel rod, skal erklæringen af ​​selve funktionen komme efter erklæringen af ​​rodvariablen.

def tæt (): root . ødelægge () rod . afslutte ()

Opret en knap med teksten "Press Me" og bind den til den ovenfor definerede handlerfunktion:

button = Button ( root , text = "Press Me" , command = button_clicked )

Vi "pakker" den oprettede knap ved hjælp af pakkelayout-manageren. fill=BOTH (også fill="both") fortæller knappen at optage al den tilgængelige plads (bredde og højde) på den overordnede rodwidget:

knap . pakke ( fyld = BEGGE )

Bind lukkehændelsen for hovedvinduet med funktionen Luk handler:

rod . protokol ( 'WM_DELETE_WINDOW' , luk )

Vi starter applikationens hovedløkke:

rod . hovedsløjfe ()

Som et resultat af at trykke på knappen, vil meddelelsen "Hello, World!" blive vist i konsollen. Meddelelsen vil blive vist, hver gang der trykkes på knappen.

Se også

Noter

  1. Matt Conway, Tkinter Life Preserver Arkiveret 31. maj 2016 på Wayback Machine 
  2. Tkinter Overview Arkiveret 13. november 2013.  (Engelsk)

Litteratur

  • John E Grayson. Python og Tkinter programmering. - Manning Publications, 1999. - 658 s. — ISBN 9781884777813 .
  • Suzi R.A. Oprettelse af applikationer med en grafisk brugergrænseflade // The Python Programming Language: A Tutorial. - M . : Intuit, Binom. Videnlaboratoriet, 2006. - 328 s. — ISBN 5-9556-0058-2 .

Links