C
Cubells
Hi there:
I have two simple classes in two diferent files:
$ cat first.py
#/usr/bin/env python
# -*- coding: utf-8 -*-
import pygtk
pygtk.require('2.0')
import gtk
import second
class first:
def close_program(self, widget, data=None):
gtk.main_quit()
return False
def open_second(self, widget):
second_window = eval("second.second")(self)
def __init__(self):
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.connect("delete_event", self.close_program)
window.set_title("First")
window.set_border_width(10)
button = gtk.Button("Open")
button.connect("clicked", self.open_second)
window.add(button)
window.show_all()
def main():
gtk.main()
return 0
if __name__ == "__main__":
first()
main()
That's the second one:
$ cat second.py
#/usr/bin/env python
# -*- coding: utf-8 -*-
import pygtk
pygtk.require('2.0')
import gtk
class second(gtk.Window):
def close_second(self,widget):
self.hide()
#self.destroy()
#gtk.main_quit()
return False
def __init__(self, parent=None):
gtk.Window.__init__(self)
try:
self.set_screen(parent.get_screen())
except:
self.connect("destroy", lambda *w: gtk.main_quit())
window2 = gtk.Window(gtk.WINDOW_TOPLEVEL)
window2.set_title("Second")
window2.set_border_width(10)
window2.set_modal(True)
window2.set_resizable(False)
button2 = gtk.Button("Second")
button2.connect("clicked", self.close_second)
window2.add(button2)
window2.show_all()
def main():
gtk.main()
return 0
if __name__ == "__main__":
second()
main()
The question is simple:
How can I close/hide/destroy the second window without to destroy the
first window when I click the button2??
When I close the second window it works, but when I click the button2 it
doesn't.
A lot of thanks...
I have two simple classes in two diferent files:
$ cat first.py
#/usr/bin/env python
# -*- coding: utf-8 -*-
import pygtk
pygtk.require('2.0')
import gtk
import second
class first:
def close_program(self, widget, data=None):
gtk.main_quit()
return False
def open_second(self, widget):
second_window = eval("second.second")(self)
def __init__(self):
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.connect("delete_event", self.close_program)
window.set_title("First")
window.set_border_width(10)
button = gtk.Button("Open")
button.connect("clicked", self.open_second)
window.add(button)
window.show_all()
def main():
gtk.main()
return 0
if __name__ == "__main__":
first()
main()
That's the second one:
$ cat second.py
#/usr/bin/env python
# -*- coding: utf-8 -*-
import pygtk
pygtk.require('2.0')
import gtk
class second(gtk.Window):
def close_second(self,widget):
self.hide()
#self.destroy()
#gtk.main_quit()
return False
def __init__(self, parent=None):
gtk.Window.__init__(self)
try:
self.set_screen(parent.get_screen())
except:
self.connect("destroy", lambda *w: gtk.main_quit())
window2 = gtk.Window(gtk.WINDOW_TOPLEVEL)
window2.set_title("Second")
window2.set_border_width(10)
window2.set_modal(True)
window2.set_resizable(False)
button2 = gtk.Button("Second")
button2.connect("clicked", self.close_second)
window2.add(button2)
window2.show_all()
def main():
gtk.main()
return 0
if __name__ == "__main__":
second()
main()
The question is simple:
How can I close/hide/destroy the second window without to destroy the
first window when I click the button2??
When I close the second window it works, but when I click the button2 it
doesn't.
A lot of thanks...