/usr/share/help/es/gnome-devel-demos/combobox.py.page is in gnome-devel-docs 3.28.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <?xml version="1.0" encoding="utf-8"?>
<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="combobox.py" xml:lang="es">
<info>
<title type="text">ComboBox (Python)</title>
<link type="guide" xref="beginner.py#menu-combo-toolbar"/>
<link type="seealso" xref="model-view-controller.py"/>
<link type="next" xref="treeview_simple_liststore.py"/>
<revision version="0.1" date="2012-06-02" status="draft"/>
<credit type="author copyright">
<name>Marta Maria Casetti</name>
<email its:translate="no">mmcasetti@gmail.com</email>
<years>2012</years>
</credit>
<desc>Un widget usado para elegir de una lista de elementos</desc>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Daniel Mustieles</mal:name>
<mal:email>daniel.mustieles@gmail.com</mal:email>
<mal:years>2011 - 2017</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Nicolás Satragno</mal:name>
<mal:email>nsatragno@gmail.com</mal:email>
<mal:years>2012 - 2013</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Jorge González</mal:name>
<mal:email>jorgegonz@svn.gnome.org</mal:email>
<mal:years>2011</mal:years>
</mal:credit>
</info>
<title>ComboBox (una columna)</title>
<media type="image" mime="image/png" src="media/combobox.png"/>
<p>Esta ComboBox imprime su selección en la terminal cuando cambia la cambia.</p>
<links type="section"/>
<section id="code">
<title>Código usado para generar este ejemplo</title>
<code mime="text/x-python" style="numbered">from gi.repository import Gtk
import sys
distros = [["Select distribution"], ["Fedora"], ["Mint"], ["Suse"]]
class MyWindow(Gtk.ApplicationWindow):
def __init__(self, app):
Gtk.Window.__init__(self, title="Welcome to GNOME", application=app)
self.set_default_size(200, -1)
self.set_border_width(10)
# the data in the model, of type string
listmodel = Gtk.ListStore(str)
# append the data in the model
for i in range(len(distros)):
listmodel.append(distros[i])
# a combobox to see the data stored in the model
combobox = Gtk.ComboBox(model=listmodel)
# a cellrenderer to render the text
cell = Gtk.CellRendererText()
# pack the cell into the beginning of the combobox, allocating
# no more space than needed
combobox.pack_start(cell, False)
# associate a property ("text") of the cellrenderer (cell) to a column (column 0)
# in the model used by the combobox
combobox.add_attribute(cell, "text", 0)
# the first row is the active one by default at the beginning
combobox.set_active(0)
# connect the signal emitted when a row is selected to the callback
# function
combobox.connect("changed", self.on_changed)
# add the combobox to the window
self.add(combobox)
def on_changed(self, combo):
# if the row selected is not the first one, write its value on the
# terminal
if combo.get_active() != 0:
print("You chose " + str(distros[combo.get_active()][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)
</code>
</section>
<section id="methods">
<title>Métodos útiles para un widget «ComboBox»</title>
<p>El widget «ComboBox» está desarrollado sobre el diseño <em>Modelo/Vista/Controlador</em>: el <em>Modelo</em> almacena los datos, la <em>Vista</em> obtiene las notificaciones de cambio y muestra el contenido del modelo; el <em>Controlador</em>, finalmente, cambia el estado del modelo y le notifica a la vista los cambios. Para más información, y una lista de métodos útiles de «ComboBox» y «TreeModel», consulte la <link xref="model-view-controller.py"/>.</p>
<p>En la línea 35 la señal <code>«changed»</code> se conecta a la función de retorno de llamada <code>on_changed()</code> usando <code><var>widget</var>.connect(<var>señal</var>, <var>función de retorno de llamada</var>)</code>. Consulte la <link xref="signals-callbacks.py"/> para obtener una explicación más detallada.</p>
</section>
<section id="references">
<title>Referencias de la API</title>
<p>En este ejemplo se usa lo siguiente:</p>
<list>
<item><p><link href="http://developer.gnome.org/gtk3/unstable/GtkComboBox.html">GtkComboBox</link></p></item>
<item><p><link href="http://developer.gnome.org/gtk3/unstable/GtkListStore.html">GtkListStore</link></p></item>
<item><p><link href="http://developer.gnome.org/gtk3/unstable/GtkCellRendererText.html">GtkCellRendererText</link></p></item>
<item><p><link href="http://developer.gnome.org/gtk3/unstable/GtkCellLayout.html">GtkCellLayout</link></p></item>
<item><p><link href="http://git.gnome.org/browse/pygobject/tree/gi/overrides/Gtk.py">pygobject: vinculaciones de Python para introspección de GObject</link></p></item>
</list>
</section>
</page>
|