[Tutor] Python glade

Lang Hurst lang at tharin.com
Sat Jun 19 04:18:55 CEST 2010


OK, I created a UI in glade which has the following:

     <object class="GtkEntry" id="student_change">
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="invisible_char">&#x25CF;</property>
                        <property name="width_chars">25</property>
                        <signal name="activate"
    handler="student_change_activate_cb"/>
    </object>


basically, a text box.  I'm trying to set it up to automatically 
complete names as I type.  My py file has the following:

     def __init__(self):
          self.builder = gtk.Builder()
          self.builder.add_from_file('gradebook.glade')
          self.window = self.builder.get_object('winapp')
          self.builder.connect_signals(self)
    #      self.student_change = gtk.Entry()
          completion = gtk.EntryCompletion()
          self.names = gtk.ListStore(str)
          query = "SELECT * from students"
          db = sqlite3.connect('gradebook.db')
          cursor = db.cursor()
          cursor.execute(query)
          students = cursor.fetchall()
          for student in students:
              self.names.append([student[1]])
              print student[1]
          cursor.close()
          completion.set_model(self.names)
          self.student_change.set_completion(completion)
          completion.set_text_column(0)


When I try to run this, I get

    AttributeError: 'appGUI' object has no attribute 'student_change'


But if I uncomment the self.student_change line from up above, it runs 
but doesn't do completion.

I modeled this after

http://www.koders.com/python/fid755022E2A82A54C79A7CF86C00438E6F825676C3.aspx?s=gtk#L4

I'm pretty sure the problem is somewhere in the gtk.Builder part of what 
I'm doing, but I can't for the life of me figure this out.

-- 
There are no stupid questions, just stupid people.



More information about the Tutor mailing list