[Python-de] Python und Glade

Stefan Grote stefan at mail.swiftos.de
Do Jun 28 14:10:02 UTC 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