PyGTK
| {{#if: | {{{Name}}} | {{#invoke:WLink|getArticleBase}} }}
{{#if: GTK-Logo | | ||||||||
|---|---|---|---|---|---|---|---|---|
colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | GTK-Logo |
{{#if: {{#invoke:Wikidata|claim|P154}} |
| ||||||||
[[Datei:{{#invoke:Wikidata|claim|P154}}|150px]]
}} }}{{#if: | | ||||||||
| {{{Screenshot}}}{{#if: | {{{Beschreibung}}} }}| }} | ||||||||
| Basisdaten
{{#if: James Henstridge | | ||||||||
| Hauptentwickler |
{{#if: {{#invoke:Wikidata|claim|P126}} |
| |||||||
| Maintainer | claim|P126|parameter=link|references=ja|list=, }}
}} }}{{#if: | | |||||||
| Entwickler |
{{#if: {{#invoke:Wikidata|claim|P178}} |
| |||||||
| Entwickler | claim|P178|parameter=link|references=ja|list=, }}
}} }}{{#if: | | |||||||
| Erscheinungsjahr |
{{#if: {{#invoke:Wikidata|claim|P577}} |
| |||||||
| Erscheinungsjahr | claim|P577|references=ja|list=, }} |
{{#if: {{#invoke:Wikidata|claim|P571}} |
| |||||||
| Erscheinungsjahr | claim|P571|references=ja|list=, }}
}} }} }}{{#ifeq: | KEINE_ANGABE || {{#if: | | |||||||
| Aktuelle Version | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | {{{AktuelleVersionFreigabeDatum}}} | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813}} |
|
| Aktuelle Version | claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}}) }}}}}} }}{{#ifeq: {{{AktuelleVorabVersion}}} | KEINE_ANGABE || {{#if: | | |||||||
| Aktuelle Vorabversion | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | {{{AktuelleVorabVersionFreigabeDatum}}} | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724}} |
|
| Aktuelle Vorabversion | claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}}) }}}}}} }}{{#if: | | |||||||
| Ausführungsumgebung |
{{#if: Windows, Unix, macOS |
| |||||||
| Betriebssystem | Windows, Unix, macOS |
{{#if: {{#invoke:Wikidata|claim|P306}} |
| |||||||
| Betriebssystem | claim|P306|parameter=link|references=ja|list=, }}
}} }} }}{{#if: Python | | |||||||
| Programmiersprache | Python |
{{#if: {{#invoke:Wikidata|claim|P277}} |
| |||||||
| Programmiersprache | claim|P277|parameter=link|references=ja|list=, }}
}} }}{{#if: GUI-Toolkit | | |||||||
| Kategorie | GUI-Toolkit
}}{{#if: LGPL (Freie Software) | | |||||||
| Lizenz | LGPL (Freie Software) |
{{#if: {{#invoke:Wikidata|claim|P275}} |
| |||||||
| Lizenz | claim|P275|parameter=link|references=ja|list=, }}
}} }}{{#if: nein | | |||||||
| deutschsprachig | faculty|nein}} | ja | nein }}
}}{{#if: | | |||||||
| Sonstiges | {{{Sonstiges}}}
}}{{#if: www.pygtk.org | | |||||||
www.pygtk.org |
{{#if: {{#invoke:Wikidata|claim|P856|notdeprecated=1}} |
| ||||||||
{{#invoke: WLink | formatURL | {{#invoke:Wikidata|claim|P856|parameter=link|notdeprecated=1}}}}
}} }}{{#if: | | ||||||||
| Dateien | [[c:Category:Created with {{{Dateien}}}|{{{Dateien}}}]]
}} | |||||||
PyGTK ist eine Ansammlung von Wrappern für die Programmiersprache Python zum Zugriff auf das GUI-Toolkit GTK+. PyGTK ist als freie Software unter der LGPL lizenziert. Entwickelt wurde PyGTK von dem Gnome-Programmierer James Henstridge.
Mit dem Übergang zu GTK+ 3.0 und Gnome 3.0 wird PyGTK durch dessen Nachfolger PyGObject ersetzt, welches sich GObject-Introspektion zu Nutze macht, um Anbindungen an Bibliotheken automatisch zu erzeugen. PyGObject ist im Gegensatz zu PyGTK auch mit Python 3 kompatibel.
Python-Wrapper um vergleichbare GUI-Toolkits sind PyQt für die Qt-Bibliothek und wxPython für wxWidgets.
PyGObject Beispielprogramm
<syntaxhighlight lang="python">
- ein mit PyGObject erstelltes Python-Programmes, welches GTK benutzt
import gi gi.require_version("Gtk", "3.0") from gi.repository import Gtk
- Die Klasse MeinFenster erbt von Gtk.Window
class MeinFenster(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Hello World App")
self.set_size_request(300, 100)
# Einen Button erzeugen und dem Fenster hinzufügen
button = Gtk.Button(label="Klick hier")
button.connect("clicked", self.on_button_clicked)
self.add(button)
def on_button_clicked(self, widget):
# Ausgabe auf der Console bei Mauseklick auf den Button
print("Hello, Wikipedia!")
- Initializierung
app = MeinFenster() app.connect("destroy", Gtk.main_quit) # Schließen app.show_all()
- Die Hauptschleife der Anwendung wird durch den Aufruf von Gtk.main() gestartet.
- Diese Schleife wartet auf Ereignisse (wie Klicks) und aktualisiert die Anwendung entsprechend.
Gtk.main() </syntaxhighlight>
Weblinks
- Homepage (englisch)
- PyGTK FAQ (englisch)
- PyGTK-Tutorial (englisch)
- PyGObject Dokumentation (englisch)
Einzelnachweise
<references />