[Python-de] Python und Glade
Stefan Grote
stefan at mail.swiftos.de
Do Jun 28 16:10:02 CEST 2007
Hallo *,
momentan spiele ich ein wenig mit Python und Glade rum, ich moechte ein
einfaches Fenster mit einem Label enthalten, von der Konsole aus
aufrufen und auf der XSession dastellen.
Wenn ich das Programm von einem xterm etc in einer XSession aufrufe,
funktioniert es. Allerdings nicht, wenn es von einer Konsole aus aufrufe.
Ich denke das Problem wird sein das er das Display nicht findet.
Jetzt ist, die Frage wie gebe ich das Display an?
Oder ist das Problem ganz woanders?
Hier der Code:
#!/usr/bin/env python
import sys
import time
import os
try:
import pygtk
pygtk.require("2.0")
except:
pass
try:
import gtk
import gtk.glade
except:
sys.exit(1)
class writeGTK:
def __init__(self):
#Set the Glade file
self.gladefile = 'show_nxuser.glade'
self.wTree = gtk.glade.XML(self.gladefile)
self.assistent = gtk.glade.XML('show_nxuser.glade','assistent')
label1 = self.assistent.get_widget('label1')
label1.set_text('NX User is shown here')
if __name__ == '__main__':
hwg = writeGTK()
gtk.main()
Und hier der Code vor der XML Datei:
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
<glade-interface>
<widget class="GtkWindow" id="assistent">
<property name="visible">True</property>
<property name="title" translatable="yes">Username</property>
<property name="type">GTK_WINDOW_POPUP</property>
<property name="window_position">GTK_WIN_POS_CENTER</property>
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="decorated">True</property>
<property name="skip_taskbar_hint">False</property>
<property name="skip_pager_hint">False</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_SPLASHSCREEN</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property>
<property name="urgency_hint">False</property> <child>
<widget class="GtkVBox" id="vContainer">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes"></property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property> <property
name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
</glade-interface>
Gruß,
Stefan Grote
Mehr Informationen über die Mailingliste python-de