I am having a problem with GtkDialogs. Ref: http://faq.pygtk.org/index.py?req=show&file=faq10.011.htp http://faq.pygtk.org/index.py?req=show&file=faq10.011.htp
I want to add a treeview to the dialog. The first time btnDialog is pressed the dialog shows with the treeview in it. If I press btnDialog a second time the app closes and I get a "Segmentation fault" error. Without adding the treeview, the dialog works as expected. Do you have to destroy the widgets added to a dialog when you destroy the dialog? If so how? #!/usr/bin/env python import pygtk import gtk btnDialog = gtk.Button("Dialog") # list of items to display plist = gtk.ListStore(int, str) plist.append( (0, "Item 1",) ) plist.append( (1, "Item 2",) ) plist.append( (2, "Item 3",) ) # the Treeview treeview = gtk.TreeView() model = treeview.get_selection() model.set_mode(gtk.SELECTION_SINGLE) r = gtk.CellRendererText() treeview.insert_column_with_attributes(-1, "Items", r, text=1) treeview.set_model(plist) class NewWindow(gtk.Window): def btnDialogClick(self, widget): dialog = gtk.Dialog('Choose Item', self, # the window that spawned this dialog gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, ("Play Now", 77, gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE)) dialog.vbox.pack_start(gtk.Label('Do you want to play a game?')) dialog.vbox.pack_start(treeview) dialog.show_all() result = dialog.run() if result == 77: print "Play Button Clicked" elif result == gtk.RESPONSE_CLOSE: print "Close Button Clicked" dialog.destroy() #---------------------------------------------------------------- def __init__(self): super(NewWindow, self).__init__() self.set_title("test") self.set_size_request(1024, 768) self.set_keep_above(True) self.set_position(gtk.WIN_POS_CENTER) self.set_modal(True) fixed = gtk.Layout() fixed.put(btnDialog, 400, 5) btnDialog.connect("clicked", self.btnDialogClick) self.add(fixed) self.connect("destroy", gtk.main_quit) self.show_all() NewWindow() gtk.main() -- View this message in context: http://www.nabble.com/Dialogs-tp25879937p25879937.html Sent from the Python - tutor mailing list archive at Nabble.com. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor