halvar.at bcom Python Tools Plone Zope Visual Basic Programmierung SW3 PC Computer Netzwerk Linux Windows Shop

Skip to content

Gerolds Homepage

Sections
Personal tools
You are here: Home Python Python Code gtkhelper.py - GTK-Konstanten
Document Actions

gtkhelper.py - Ein kleiner Helfer für GTK-Konstanten

gtkhelper.py ist ein Python Modul, mit dem das Programmieren von GTK-Anwendungen mit WingIDE einfacher wird.

WingIDE hat das Problem, dass die Codevervollständigung bei GTK-Konstanten versagt. Da ich mir aber nicht alle Konstanten auswendig merken kann, habe ich mir aus der PyGTK-Dokumentation die Konstanten heraus gesucht und daraus ein Entwickler-Modul erstellt. Ich nenne es deshalb Entwicker-Modul, da es für die Ausführung des fertigen Programmes nicht benötigt wird.

Um die automatische Codevervollständigung für GTK-Konstanten nutzen zu können, brauchen Sie nur das unten verlinkte Modul gtkhelper.py in einen Ordner Ihres Python-Pfades zu kopieren. Z.B. in den Ordner C:\Python24\Lib\site-packages. Unter Linux heißt der Ordner natürlich anders.

Im WingIDE müssen Sie das Modul so importieren, dass es nur beim Debuggen geladen wird. Das könnte in einem echten GTK-Programm so aussehen:

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-

import pygtk
pygtk.require("2.0")
import gtk

if __debug__:
    try:
        from gtkhelper import GTK_CONST
    except:
        exec("GTK_CONST = gtk")
else:
    exec("GTK_CONST = gtk")


#----------------------------------------------------------------------
class Fenster:
    def __init__(self):
        self.w = gtk.Window(GTK_CONST.WINDOW_TOPLEVEL)
        self.w.connect("destroy", gtk.main_quit)
        self.w.show_all()
        
f = Fenster()
gtk.main()

Die exec-Anweisungen braucht es, dass WingIDE nicht doch wieder die teilweise funktionierende Autovervollständigung für GTK statt den GTK-Konstanten in der Liste anzeigt.

Nachdem GTK_CONST importiert wurde, steht die automatische Codevervollständigung für GTK-Konstanten zur Verfügung. Gibt man GTK_CONST. in den Editor ein, zeigt WingIDE alle GTK-Konstanten in einer Liste an.

Um sich die Schreibarbeit beim Import von pygtk zu sparen, spricht nichts dagegen, diesen in ein WingIDE Template auszulagern. Hier noch einmal der Code, der zum Importieren nötig ist:

import pygtk
pygtk.require("2.0")
import gtk

if __debug__:
    try:
        from gtkhelper import GTK_CONST
    except:
        exec("GTK_CONST = gtk")
else:
    exec("GTK_CONST = gtk")

Hier noch das Modul gtkhelper.py zum Herunterladen und ein Bild, das die Codevervollständigung in Aktion zeigt.

mfg
Gerold
:-)

 

Powered by Plone   Powered by Bcom   Powered by Gentoo-Linux

Diese Seite erfüllt evt. :-) folgende Standards: