Вот код:
from gi.repository import Gtk
import configparser
import os
class XWindow(Gtk.Window):
def __init__(self):
print('Create window #-1')
Gtk.Window.__init__(self, title="Button Demo")
self.set_border_width(10)
self.set_default_size(300, 150)
self.notebook = Gtk.Notebook()
self.main_grid = Gtk.Grid()
self.loc_config = configparser.ConfigParser(delimiters=('='), allow_no_value=True, strict=False)
self.loc_config.read(os.path.dirname(os.path.realpath(__file__))+'/r_net.txt')
self.c_s = self.loc_config.sections()
self.m_label = Gtk.Label('Static')
if len(self.c_s) == 0:
self.but = Gtk.Button('OK')
self.but.connect('clicked', self.x_mod_win)
self.main_grid.attach(self.but, 1, 1, 5, 1)
self.main_grid.attach(self.m_label, 1, 2, 5, 1)
self.notebook.append_page(self.main_grid, Gtk.Label('№ - 1'))
self.add(self.notebook)
def x_mod_win(self, button):
def ex_t(window, event):
win.destroy()
self.but.destroy()
self.new_label = Gtk.Label('New Label')
self.main_grid.attach(self.new_label, 1, 1, 5, 1)
win = Gtk.Window(default_height=50, default_width=300)
win.set_modal(True)
win.set_transient_for(self)
win.connect("delete-event", ex_t)
win.show_all()
win = XWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
Как реализовать такую последовательность действий:
1-появление модального окна
2-удаление элемента в родительском окне
3-создание нового элемента в родительском окне
4-закрытие модального окна