|
Packit |
1470ea |
|
|
Packit |
1470ea |
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:xi="http://www.w3.org/2001/XInclude" type="guide" style="task" id="toolbar_builder.py" xml:lang="gl">
|
|
Packit |
1470ea |
<info>
|
|
Packit |
1470ea |
<title type="text">Toolbar created using Glade (Python)</title>
|
|
Packit |
1470ea |
<link type="guide" xref="beginner.py#menu-combo-toolbar"/>
|
|
Packit |
1470ea |
<link type="seealso" xref="toolbar.py"/>
|
|
Packit |
1470ea |
<link type="seealso" xref="grid.py"/>
|
|
Packit |
1470ea |
<link type="next" xref="menubar.py"/>
|
|
Packit |
1470ea |
<revision version="0.1" date="2012-07-17" status="draft"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<credit type="author copyright">
|
|
Packit |
1470ea |
<name>Tiffany Antopolski</name>
|
|
Packit |
1470ea |
<email its:translate="no">tiffany.antopolski@gmail.com</email>
|
|
Packit |
1470ea |
<years>2012</years>
|
|
Packit |
1470ea |
</credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<credit type="author copyright edit">
|
|
Packit |
1470ea |
<name>Marta Maria Casetti</name>
|
|
Packit |
1470ea |
<email its:translate="no">mmcasetti@gmail.com</email>
|
|
Packit |
1470ea |
<years>2012</years>
|
|
Packit |
1470ea |
</credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<credit type="author copyright">
|
|
Packit |
1470ea |
<name>Sebastian Pölsterl</name>
|
|
Packit |
1470ea |
<email its:translate="no">sebp@k-d-w.org</email>
|
|
Packit |
1470ea |
<years>2011</years>
|
|
Packit |
1470ea |
</credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<desc>Unha barra de botóns e outros widgets</desc>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
|
|
Packit |
1470ea |
<mal:name>Fran Dieguez</mal:name>
|
|
Packit |
1470ea |
<mal:email>frandieguez@gnome.org</mal:email>
|
|
Packit |
1470ea |
<mal:years>2012-2013.</mal:years>
|
|
Packit |
1470ea |
</mal:credit>
|
|
Packit |
1470ea |
</info>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<title>Barra de ferramentas creada empregando Glade</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<media type="image" mime="image/png" src="media/toolbar.png"/>
|
|
Packit |
1470ea |
Este exemplo é similar a <link xref="toolbar.py"/>, agás que usa Glade para crear a barra de ferrametnas nun ficheiro .ui XML.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<links type="sections"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="glade">
|
|
Packit |
1470ea |
<title>Crear unha barra de ferramentas con Glade</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
To create the toolbar using the <link href="http://glade.gnome.org/">Glade Interface Designer</link>:
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<steps>
|
|
Packit |
1470ea |
<item>Open Glade, and save the file as <file>toolbar_builder.ui</file>
|
|
Packit |
1470ea |
<media type="image" src="media/glade_ui.png" width="900">
|
|
Packit |
1470ea |
Screenshot of Glade ui
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Under <gui>Containers</gui> on the left hand side, right click on the toolbar icon and select <gui>Add widget as toplevel</gui>.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_select_toolbar.png">
|
|
Packit |
1470ea |
Screenshot of toolbar icon in Glade ui
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Under the <gui>General</gui> tab on the bottom right, change the <gui>Name</gui> to <input>toolbar</input> and <gui>Show Arrow</gui> to <gui>No</gui>.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_toolbar_general.png">
|
|
Packit |
1470ea |
Screenshot of General tab
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Under the <gui>Common</gui> tab, set <gui>Horizontal Expand</gui> to <gui>Yes</gui>.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_toolbar_common.png">
|
|
Packit |
1470ea |
Screenshot of Common tab
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Prema co botón dereito sobre a barra de ferramentas na parte superior dereita e seleccione <gui>Editar</gui>. A xanela <gui>Editor da barra de ferramentas</gui> aparecerá.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_toolbar_edit.png">
|
|
Packit |
1470ea |
Screenshot of where to right click to edit toolbar.
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Queremos engadir 5 ToolButtons: Novo, Abrir, Desfacer, Pantalla completa e Saír da pantalla completa. Primeiro, precisamos engadir o ToolButton Novo.
|
|
Packit |
1470ea |
<steps>
|
|
Packit |
1470ea |
<item>Baixo a lapela <gui>Xerarquía</gui>, prema <gui>Engadir</gui>. </item>
|
|
Packit |
1470ea |
<item>Cambie o nome do TollItem a <input>new_button</input>. </item>
|
|
Packit |
1470ea |
<item>Scroll down and set <gui>Is important</gui> to <gui>Yes</gui>. This will cause the label of the ToolButton to be shown, when you view the toolbar. </item>
|
|
Packit |
1470ea |
<item>Escriba o <gui>nome da acción</gui>: <input>app.new</input>. </item>
|
|
Packit |
1470ea |
<item>Cambie a <gui>Etiqueta</gui> a <input>Nova</input>. </item>
|
|
Packit |
1470ea |
<item>Seleccione o Id de inventario <gui>New</gui> desde o menú despregábel, ou o tipo <input>gtk-new</input>. </item>
|
|
Packit |
1470ea |
</steps>
|
|
Packit |
1470ea |
Repita os pasos de arriba cos TollButtons que faltan, coas seguintes propiedades:
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Nome
|
|
Packit |
1470ea |
É importante
|
|
Packit |
1470ea |
Action name
|
|
Packit |
1470ea |
Etiqueta
|
|
Packit |
1470ea |
ID de inventario
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
open_button
|
|
Packit |
1470ea |
Si
|
|
Packit |
1470ea |
app.open
|
|
Packit |
1470ea |
Open
|
|
Packit |
1470ea |
gtk-open
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
undo_button
|
|
Packit |
1470ea |
Si
|
|
Packit |
1470ea |
win.undo
|
|
Packit |
1470ea |
Desfacer
|
|
Packit |
1470ea |
gtk-undo
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
fullscreen_button
|
|
Packit |
1470ea |
Si
|
|
Packit |
1470ea |
win.fullscreen
|
|
Packit |
1470ea |
Pantalla completa
|
|
Packit |
1470ea |
gtk-fullscreen
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
leave_fullscreen_button
|
|
Packit |
1470ea |
Si
|
|
Packit |
1470ea |
win.fullscreen
|
|
Packit |
1470ea |
Saír do modo de pantalla completa
|
|
Packit |
1470ea |
gtk-leave-fullscreen
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<media type="image" src="media/glade_toolbar_editor.png">
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Pechar o <gui>Editor de barra de ferramentas</gui>.
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>When our program will first start, we do not want the <gui>Leave Fullscreen</gui> ToolButton to be visible, since the application will not be in fullscreen mode. You can set this in the <gui>Common</gui> tab, by clicking the <gui>Visible</gui> property to <gui>No</gui>. The ToolButton will still appear in the interface designer, but will behave correctly when the file is loaded into your program code. Note that the method show_all() would override this setting - so in the code we have to use show() separately on all the elements.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_visible_no.png">
|
|
Packit |
1470ea |
Setting the visible property to No
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Garde o seu traballo e saia de Glade.
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>The XML file created by Glade is shown below. This is the description of the toolbar. At the time of this writing, the option to add the class Gtk.STYLE_CLASS_PRIMARY_TOOLBAR in the Glade Interface did not exist. We can manually add this to the XML file. To do this, add the following XML code at line 9 of <file>toolbar_builder.ui</file>:
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<style>
|
|
Packit |
1470ea |
<class name="primary-toolbar"/>
|
|
Packit |
1470ea |
</style>
|
|
Packit |
1470ea |
]]>
|
|
Packit |
1470ea |
Se non engade isto, o programa funcionará igual. Porén barra de ferramentas resultante semellará un pouco diferente á captura de pantalla da parte superior desta páxina.
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
</steps>
|
|
Packit |
1470ea |
<?xml version="1.0" encoding="UTF-8"?>
|
|
Packit |
1470ea |
<interface>
|
|
Packit |
1470ea |
<!-- interface-requires gtk+ 3.0 -->
|
|
Packit |
1470ea |
<object class="GtkToolbar" id="toolbar">
|
|
Packit |
1470ea |
<property name="visible">True</property>
|
|
Packit |
1470ea |
<property name="can_focus">False</property>
|
|
Packit |
1470ea |
<property name="hexpand">True</property>
|
|
Packit |
1470ea |
<property name="show_arrow">False</property>
|
|
Packit |
1470ea |
<child>
|
|
Packit |
1470ea |
<object class="GtkToolButton" id="new_button">
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="visible">True</property>
|
|
Packit |
1470ea |
<property name="can_focus">False</property>
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="is_important">True</property>
|
|
Packit |
1470ea |
<property name="action_name">app.new</property>
|
|
Packit |
1470ea |
<property name="label" translatable="yes">New</property>
|
|
Packit |
1470ea |
<property name="use_underline">True</property>
|
|
Packit |
1470ea |
<property name="stock_id">gtk-new</property>
|
|
Packit |
1470ea |
</object>
|
|
Packit |
1470ea |
<packing>
|
|
Packit |
1470ea |
<property name="expand">False</property>
|
|
Packit |
1470ea |
<property name="homogeneous">True</property>
|
|
Packit |
1470ea |
</packing>
|
|
Packit |
1470ea |
</child>
|
|
Packit |
1470ea |
<child>
|
|
Packit |
1470ea |
<object class="GtkToolButton" id="open_button">
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="visible">True</property>
|
|
Packit |
1470ea |
<property name="can_focus">False</property>
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="is_important">True</property>
|
|
Packit |
1470ea |
<property name="action_name">app.open</property>
|
|
Packit |
1470ea |
<property name="label" translatable="yes">Open</property>
|
|
Packit |
1470ea |
<property name="use_underline">True</property>
|
|
Packit |
1470ea |
<property name="stock_id">gtk-open</property>
|
|
Packit |
1470ea |
</object>
|
|
Packit |
1470ea |
<packing>
|
|
Packit |
1470ea |
<property name="expand">False</property>
|
|
Packit |
1470ea |
<property name="homogeneous">True</property>
|
|
Packit |
1470ea |
</packing>
|
|
Packit |
1470ea |
</child>
|
|
Packit |
1470ea |
<child>
|
|
Packit |
1470ea |
<object class="GtkToolButton" id="undo_button">
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="visible">True</property>
|
|
Packit |
1470ea |
<property name="can_focus">False</property>
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="is_important">True</property>
|
|
Packit |
1470ea |
<property name="action_name">win.undo</property>
|
|
Packit |
1470ea |
<property name="label" translatable="yes">Undo</property>
|
|
Packit |
1470ea |
<property name="use_underline">True</property>
|
|
Packit |
1470ea |
<property name="stock_id">gtk-undo</property>
|
|
Packit |
1470ea |
</object>
|
|
Packit |
1470ea |
<packing>
|
|
Packit |
1470ea |
<property name="expand">False</property>
|
|
Packit |
1470ea |
<property name="homogeneous">True</property>
|
|
Packit |
1470ea |
</packing>
|
|
Packit |
1470ea |
</child>
|
|
Packit |
1470ea |
<child>
|
|
Packit |
1470ea |
<object class="GtkToolButton" id="fullscreen_button">
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="visible">True</property>
|
|
Packit |
1470ea |
<property name="can_focus">False</property>
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="is_important">True</property>
|
|
Packit |
1470ea |
<property name="action_name">win.fullscreen</property>
|
|
Packit |
1470ea |
<property name="label" translatable="yes">Fullscreen</property>
|
|
Packit |
1470ea |
<property name="use_underline">True</property>
|
|
Packit |
1470ea |
<property name="stock_id">gtk-fullscreen</property>
|
|
Packit |
1470ea |
</object>
|
|
Packit |
1470ea |
<packing>
|
|
Packit |
1470ea |
<property name="expand">False</property>
|
|
Packit |
1470ea |
<property name="homogeneous">True</property>
|
|
Packit |
1470ea |
</packing>
|
|
Packit |
1470ea |
</child>
|
|
Packit |
1470ea |
<child>
|
|
Packit |
1470ea |
<object class="GtkToolButton" id="leave_fullscreen_button">
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="can_focus">False</property>
|
|
Packit |
1470ea |
<property name="use_action_appearance">False</property>
|
|
Packit |
1470ea |
<property name="is_important">True</property>
|
|
Packit |
1470ea |
<property name="action_name">win.fullscreen</property>
|
|
Packit |
1470ea |
<property name="label" translatable="yes">Leave Fullscreen</property>
|
|
Packit |
1470ea |
<property name="use_underline">True</property>
|
|
Packit |
1470ea |
<property name="stock_id">gtk-leave-fullscreen</property>
|
|
Packit |
1470ea |
</object>
|
|
Packit |
1470ea |
<packing>
|
|
Packit |
1470ea |
<property name="expand">False</property>
|
|
Packit |
1470ea |
<property name="homogeneous">True</property>
|
|
Packit |
1470ea |
</packing>
|
|
Packit |
1470ea |
</child>
|
|
Packit |
1470ea |
</object>
|
|
Packit |
1470ea |
</interface>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="code">
|
|
Packit |
1470ea |
<title>Código usado para xerar este exemplo</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Agora crearemos o código de embaixo, que engade a barra de ferrametnas desde o ficheiro que creamos.
|
|
Packit |
1470ea |
from gi.repository import Gtk
|
|
Packit |
1470ea |
from gi.repository import Gdk
|
|
Packit |
1470ea |
from gi.repository import Gio
|
|
Packit |
1470ea |
import sys
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
class MyWindow(Gtk.ApplicationWindow):
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
def __init__(self, app):
|
|
Packit |
1470ea |
Gtk.Window.__init__(self, title="Toolbar Example", application=app)
|
|
Packit |
1470ea |
self.set_default_size(400, 200)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# a grid to attach the toolbar (see below)
|
|
Packit |
1470ea |
grid = Gtk.Grid()
|
|
Packit |
1470ea |
self.add(grid)
|
|
Packit |
1470ea |
# we have to show the grid (and therefore the toolbar) with show(),
|
|
Packit |
1470ea |
# as show_all() would show also the buttons in the toolbar that we want to
|
|
Packit |
1470ea |
# be hidden (such as the leave_fullscreen button)
|
|
Packit |
1470ea |
grid.show()
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# a builder to add the UI designed with Glade to the grid:
|
|
Packit |
1470ea |
builder = Gtk.Builder()
|
|
Packit |
1470ea |
# get the file (if it is there)
|
|
Packit |
1470ea |
try:
|
|
Packit |
1470ea |
builder.add_from_file("toolbar_builder.ui")
|
|
Packit |
1470ea |
except:
|
|
Packit |
1470ea |
print("file not found")
|
|
Packit |
1470ea |
sys.exit()
|
|
Packit |
1470ea |
# and attach it to the grid
|
|
Packit |
1470ea |
grid.attach(builder.get_object("toolbar"), 0, 0, 1, 1)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# two buttons that will be used later in a method
|
|
Packit |
1470ea |
self.fullscreen_button = builder.get_object("fullscreen_button")
|
|
Packit |
1470ea |
self.leave_fullscreen_button = builder.get_object(
|
|
Packit |
1470ea |
"leave_fullscreen_button")
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# create the actions that control the window, connect their signal to a
|
|
Packit |
1470ea |
# callback method (see below), add the action to the window:
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# undo
|
|
Packit |
1470ea |
undo_action = Gio.SimpleAction.new("undo", None)
|
|
Packit |
1470ea |
undo_action.connect("activate", self.undo_callback)
|
|
Packit |
1470ea |
self.add_action(undo_action)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# and fullscreen
|
|
Packit |
1470ea |
fullscreen_action = Gio.SimpleAction.new("fullscreen", None)
|
|
Packit |
1470ea |
fullscreen_action.connect("activate", self.fullscreen_callback)
|
|
Packit |
1470ea |
self.add_action(fullscreen_action)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# callback for undo
|
|
Packit |
1470ea |
def undo_callback(self, action, parameter):
|
|
Packit |
1470ea |
print("You clicked \"Undo\".")
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# callback for fullscreen
|
|
Packit |
1470ea |
def fullscreen_callback(self, action, parameter):
|
|
Packit |
1470ea |
# check if the state is the same as Gdk.WindowState.FULLSCREEN, which
|
|
Packit |
1470ea |
# is a bit flag
|
|
Packit |
1470ea |
is_fullscreen = self.get_window().get_state(
|
|
Packit |
1470ea |
) & Gdk.WindowState.FULLSCREEN != 0
|
|
Packit |
1470ea |
if is_fullscreen:
|
|
Packit |
1470ea |
self.unfullscreen()
|
|
Packit |
1470ea |
self.leave_fullscreen_button.hide()
|
|
Packit |
1470ea |
self.fullscreen_button.show()
|
|
Packit |
1470ea |
else:
|
|
Packit |
1470ea |
self.fullscreen()
|
|
Packit |
1470ea |
self.fullscreen_button.hide()
|
|
Packit |
1470ea |
self.leave_fullscreen_button.show()
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
class MyApplication(Gtk.Application):
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
def __init__(self):
|
|
Packit |
1470ea |
Gtk.Application.__init__(self)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
def do_activate(self):
|
|
Packit |
1470ea |
win = MyWindow(self)
|
|
Packit |
1470ea |
# show the window - with show() not show_all() because that would show also
|
|
Packit |
1470ea |
# the leave_fullscreen button
|
|
Packit |
1470ea |
win.show()
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
def do_startup(self):
|
|
Packit |
1470ea |
Gtk.Application.do_startup(self)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# actions that control the application: create, connect their signal to a
|
|
Packit |
1470ea |
# callback method (see below), add the action to the application
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# new
|
|
Packit |
1470ea |
new_action = Gio.SimpleAction.new("new", None)
|
|
Packit |
1470ea |
new_action.connect("activate", self.new_callback)
|
|
Packit |
1470ea |
app.add_action(new_action)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# open
|
|
Packit |
1470ea |
open_action = Gio.SimpleAction.new("open", None)
|
|
Packit |
1470ea |
open_action.connect("activate", self.open_callback)
|
|
Packit |
1470ea |
app.add_action(open_action)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# callback for new
|
|
Packit |
1470ea |
def new_callback(self, action, parameter):
|
|
Packit |
1470ea |
print("You clicked \"New\".")
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
# callback for open
|
|
Packit |
1470ea |
def open_callback(self, action, parameter):
|
|
Packit |
1470ea |
print("You clicked \"Open\".")
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
app = MyApplication()
|
|
Packit |
1470ea |
exit_status = app.run(sys.argv)
|
|
Packit |
1470ea |
sys.exit(exit_status)
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="methods">
|
|
Packit |
1470ea |
<title>Métodos útiles para Gtk.Builder</title>
|
|
Packit |
1470ea |
Para os métodos útiles para o widget Toolbar, vexa <link xref="toolbar.py"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Gtk.Builder constrúe unha interface desde unha definición de IU en XML.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<list>
|
|
Packit |
1470ea |
<item>add_from_file(nomedeficheiro) carga e analiza o ficheiro fornecido e combínao cos contidos actuais de Gtk.Builder. </item>
|
|
Packit |
1470ea |
<item>add_from_string(string) parses the given string and merges it with the current contents of the Gtk.Builder. </item>
|
|
Packit |
1470ea |
<item>add_objects_from_file(filename, object_ids) is the same as add_from_file() , but it loads only the objects with the ids given in the object_id s list. </item>
|
|
Packit |
1470ea |
<item>add_objects_from_string(string, object_ids) is the same as add_from_string() , but it loads only the objects with the ids given in the object_id s list. </item>
|
|
Packit |
1470ea |
<item>get_object(object_id) retrieves the widget with the id object_id from the loaded objects in the builder. </item>
|
|
Packit |
1470ea |
<item>get_objects() devolve todos os obxectos cargados. </item>
|
|
Packit |
1470ea |
<item>connect_signals(handler_object) connects the signals to the methods given in the handler_object . This can be any object which contains keys or attributes that are called like the signal handler names given in the interface description, e.g. a class or a dict. In line 39 the signal "activate" from the action undo_action is connected to the callback function undo_callback() using action.connect(signal, callback function) . See <link xref="signals-callbacks.py"/> for a more detailed explanation.
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="references">
|
|
Packit |
1470ea |
<title>API References</title>
|
|
Packit |
1470ea |
Neste exemplo empregaremos o seguinte:
|
|
Packit |
1470ea |
<list>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gtk3/unstable/GtkGrid.html">GtkGrid</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gtk3/unstable/GtkBuilder.html">GtkBuilder</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gtk3/unstable/GtkWidget.html">GtkWidget</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gdk3/unstable/gdk3-Event-Structures.html#GdkEventWindowState">Event Structures</link> </item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</page>
|