Python - GUI-programmering (Tkinter)
Python biedt verschillende opties voor het ontwikkelen van grafische gebruikersinterfaces (GUI's). De belangrijkste staan hieronder vermeld.
-
Tkinter − Tkinter is de Python-interface voor de Tk GUI-toolkit die bij Python wordt geleverd. We zouden deze optie in dit hoofdstuk bekijken.
-
wxPython − Dit is een open-source Python-interface voor wxWindows http://wxpython.org.
-
JPython − JPython is een Python-poort voor Java die Python-scripts naadloze toegang geeft tot Java-klassebibliotheken op de lokale computer http://www.jython.org.
Er zijn veel andere interfaces beschikbaar, die u op het net kunt vinden.
Tkinter-programmering
Tkinter is de standaard GUI-bibliotheek voor Python. Python in combinatie met Tkinter biedt een snelle en gemakkelijke manier om GUI-applicaties te maken. Tkinter biedt een krachtige objectgeoriënteerde interface voor de Tk GUI-toolkit.
Het maken van een GUI-toepassing met Tkinter is een gemakkelijke taak. Het enige dat u hoeft te doen, is de volgende stappen uitvoeren −
-
Importeer de Tkinter module.
-
Maak het hoofdvenster van de GUI-toepassing.
-
Voeg een of meer van de bovengenoemde widgets toe aan de GUI-applicatie.
-
Voer de hoofdgebeurtenislus in om actie te ondernemen tegen elke gebeurtenis die door de gebruiker wordt geactiveerd.
Voorbeeld
#!/usr/bin/python import Tkinter top = Tkinter.Tk() # Code to add widgets will go here... top.mainloop()
Dit zou een volgend venster creëren −
Tkinter-widgets
Tkinter biedt verschillende bedieningselementen, zoals knoppen, labels en tekstvakken die in een GUI-toepassing worden gebruikt. Deze bedieningselementen worden gewoonlijk widgets genoemd.
Er zijn momenteel 15 soorten widgets in Tkinter. We presenteren deze widgets en een korte beschrijving in de volgende tabel −
Sr.nr. | Operator en beschrijving |
---|---|
1 | Knop De Knop-widget wordt gebruikt om knoppen in uw applicatie weer te geven. |
2 | Canvas De Canvas-widget wordt gebruikt om vormen, zoals lijnen, ovalen, polygonen en rechthoeken, in uw toepassing te tekenen. |
3 | Controleerknop De widget Checkbutton wordt gebruikt om een aantal opties als selectievakjes weer te geven. De gebruiker kan meerdere opties tegelijk selecteren. |
4 | Invoer De invoerwidget wordt gebruikt om een tekstveld van één regel weer te geven voor het accepteren van waarden van een gebruiker. |
5 | Frame De Frame-widget wordt gebruikt als een containerwidget om andere widgets te ordenen. |
6 | Label De Label-widget wordt gebruikt om een bijschrift van één regel te bieden voor andere widgets. Het kan ook afbeeldingen bevatten. |
7 | Lijstlijst De Listbox-widget wordt gebruikt om een gebruiker een lijst met opties te geven. |
8 | Menuknop De widget Menubutton wordt gebruikt om menu's in uw applicatie weer te geven. |
9 | Menu De Menu-widget wordt gebruikt om verschillende opdrachten aan een gebruiker te geven. Deze commando's staan in de Menuknop. |
10 | Bericht De Bericht-widget wordt gebruikt om tekstvelden met meerdere regels weer te geven voor het accepteren van waarden van een gebruiker. |
11 | Radioknop De Radiobutton-widget wordt gebruikt om een aantal opties als radiobuttons weer te geven. De gebruiker kan slechts één optie tegelijk selecteren. |
12 | Schaal De schaalwidget wordt gebruikt om een schuifwidget te bieden. |
13 | Scrollbalk De schuifbalkwidget wordt gebruikt om scrollmogelijkheden toe te voegen aan verschillende widgets, zoals keuzelijsten. |
14 | Tekst De Tekstwidget wordt gebruikt om tekst in meerdere regels weer te geven. |
15 | Topniveau De widget Toplevel wordt gebruikt om een aparte venstercontainer aan te bieden. |
16 | Spinbox De Spinbox-widget is een variant van de standaard Tkinter Entry-widget, die kan worden gebruikt om uit een vast aantal waarden te selecteren. |
17 | Gepaneerd Venster Een PanedWindow is een containerwidget die een willekeurig aantal vensters kan bevatten, horizontaal of verticaal gerangschikt. |
18 | LabelFrame Een labelframe is een eenvoudige containerwidget. Het primaire doel is om te fungeren als een spacer of container voor complexe vensterlay-outs. |
19 | tkMessageBox Deze module wordt gebruikt om berichtenvensters in uw applicaties weer te geven. |
Laten we deze widgets in detail bestuderen −
Standaardkenmerken
Laten we eens kijken hoe sommige van hun gemeenschappelijke kenmerken, zoals formaten, kleuren en lettertypen, worden gespecificeerd.
-
Afmetingen
-
Kleuren
-
Lettertypen
-
Ankers
-
Reliëfstijlen
-
Bitmaps
-
Cursors
Laten we ze kort bestuderen −
Geometriebeheer
Alle Tkinter-widgets hebben toegang tot specifieke methoden voor geometriebeheer, die tot doel hebben widgets in het bovenliggende widgetgebied te organiseren. Tkinter stelt de volgende geometriemanagerklassen bloot:pack, grid en place.
-
Het pakket() Methode − Deze geometriemanager organiseert widgets in blokken voordat ze in de bovenliggende widget worden geplaatst.
-
Het raster() Methode − Deze geometriemanager organiseert widgets in een tabelachtige structuur in de bovenliggende widget.
-
De plaats() Methode − Deze geometriemanager organiseert widgets door ze op een specifieke positie in de bovenliggende widget te plaatsen.
Laten we de methoden voor geometriebeheer kort bestuderen −
Python