PYGTK Ajuda para desenvolvimento de aplicações [fechada]

0

Alguém pode me dar uma idéia básica do que é usado aqui para alterar a janela quando diferentes botões como visão geral, pastas para salvar, pastas para ignorar. Como várias janelas são incorporadas dentro da janela única

    
por Elango Candy 07.03.2017 / 18:41

1 resposta

1

A maneira como é feito na captura de tela que você postou é via TreeView e ListStore. Você desejará criar uma janela com o widget Grade dentro dela, criar um widget TreeView dentro dela e fornecer o conteúdo via ListStore. Depois disso, você pode anexar algum outro widget à direita usando grid.attach_next_to(self.some_other_widget, view, Gtk.PositionType.RIGHT, 2, 1) . Nesse caso, o exemplo é um rótulo, mas você provavelmente poderia anexar um Gtk.Box dentro de outros widgets dentro dele.

Observe que este exemplo fornece o exemplo Gtk-3. PyGTK é para Gtk-2, que está lentamente se tornando cada vez menos difundido.

from gi.repository import Gtk import sys class MyWindow(Gtk.ApplicationWindow): def __init__(self, app): Gtk.Window.__init__(self, title="Some Title", application=app) self.set_default_size(100,100) listmodel = Gtk.ListStore(str) listmodel.append(['one']) listmodel.append(['two']) listmodel.append(['three']) view = Gtk.TreeView(model=listmodel) cell = Gtk.CellRendererText() col = Gtk.TreeViewColumn("Column Header", cell, text=0) view.append_column(col) view.get_selection().connect("changed", self.on_changed) self.label = Gtk.Label() self.label.set_text("") grid = Gtk.Grid() grid.attach(view, 0, 0, 1, 1) grid.attach_next_to(self.label, view, Gtk.PositionType.RIGHT, 2, 1) self.add(grid) def on_changed(self, selection): model,iterator = selection.get_selected() self.label.set_text("You selected "+model[iterator][0]) return True class MyApplication(Gtk.Application): def __init__(self): Gtk.Application.__init__(self) def do_activate(self): win = MyWindow(self) win.show_all() def do_startup(self): Gtk.Application.do_startup(self) app = MyApplication() exit_status = app.run(sys.argv) sys.exit(exit_status)

Por outro lado, provavelmente seria mais simples e mais fácil usar o Gtk.Notebook .

Veja para mais informações:

por Sergiy Kolodyazhnyy 07.03.2017 / 23:11