@@ -1800,20 +1800,21 @@ <h2 id="anadir-algun-contenido-propio">Añadir algún contenido propio<a class="
18001800< span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> name_input</ span > < span class ="o "> =</ span > < span class ="n "> toga</ span > < span class ="o "> .</ span > < span class ="n "> TextInput</ span > < span class ="p "> (</ span > < span class ="n "> flex</ span > < span class ="o "> =</ span > < span class ="mi "> 1</ span > < span class ="p "> )</ span >
18011801</ code > </ pre > </ div >
18021802< p > Aquí definimos un Label y un TextInput. Ambos widgets tienen estilos asociados;
1803- la etiqueta tendrá 5px de relleno a su izquierda y derecha, y ningún relleno en
1804- la parte superior e inferior. El TextInput está marcado como flexible - es
1805- decir, absorberá todo el espacio disponible en su eje de diseño.</ p >
1806- < p > El TextInput se asigna como una variable de instancia de la clase. Esto nos da
1807- fácil acceso a la instancia del widget - algo que usaremos en un momento.</ p >
1803+ la etiqueta tendrá 5px de margen a su izquierda y derecha, y ningún margen en la
1804+ parte superior e inferior. El TextInput está marcado como flexible —es decir,
1805+ absorberá todo el espacio disponible en su eje de diseño—.</ p >
1806+ < p > El TextInput se asigna como una variable de instancia de la clase. Esto nos
1807+ proporciona acceso fácil a la instancia del widget —algo que usaremos en un
1808+ momento—.</ p >
18081809< p > A continuación, definimos una caja para alojar estos dos widgets:</ p >
18091810< div class ="highlight "> < pre > < span > </ span > < code > < span class ="n "> name_box</ span > < span class ="o "> =</ span > < span class ="n "> toga</ span > < span class ="o "> .</ span > < span class ="n "> Box</ span > < span class ="p "> (</ span > < span class ="n "> direction</ span > < span class ="o "> =</ span > < span class ="n "> ROW</ span > < span class ="p "> ,</ span > < span class ="n "> margin</ span > < span class ="o "> =</ span > < span class ="mi "> 5</ span > < span class ="p "> )</ span >
18101811< span class ="n "> name_box</ span > < span class ="o "> .</ span > < span class ="n "> add</ span > < span class ="p "> (</ span > < span class ="n "> name_label</ span > < span class ="p "> )</ span >
18111812< span class ="n "> name_box</ span > < span class ="o "> .</ span > < span class ="n "> add</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> name_input</ span > < span class ="p "> )</ span >
18121813</ code > </ pre > </ div >
1813- < p > La < code > caja_de_nombre </ code > es una caja igual que la caja principal; sin embargo, esta
1814- vez, es una caja < code > ROW</ code > . Eso significa que el contenido se añadirá
1815- horizontalmente, e intentará que su anchura sea lo más estrecha posible. La caja
1816- también tiene algo de relleno - 5px en todos los lados.</ p >
1814+ < p > La < code > name_box </ code > es una caja igual que la caja principal; sin embargo, esta vez, es
1815+ una caja < code > ROW</ code > . Eso significa que el contenido se añadirá horizontalmente, e
1816+ intentará que su anchura sea lo más estrecha posible. La caja también tiene algo
1817+ de relleno — 5px en todos los lados.</ p >
18171818< p > Ahora definimos un botón:</ p >
18181819< div class ="highlight "> < pre > < span > </ span > < code > < span class ="n "> button</ span > < span class ="o "> =</ span > < span class ="n "> toga</ span > < span class ="o "> .</ span > < span class ="n "> Button</ span > < span class ="p "> (</ span >
18191820 < span class ="s2 "> "Say Hello!"</ span > < span class ="p "> ,</ span >
@@ -1822,30 +1823,30 @@ <h2 id="anadir-algun-contenido-propio">Añadir algún contenido propio<a class="
18221823< span class ="p "> )</ span >
18231824</ code > </ pre > </ div >
18241825< p > El botón también tiene 5px de margen en todos los lados. También definimos un
1825- < em > handler</ em > - un método a invocar cuando se pulsa el botón.</ p >
1826- < p > A continuación, añadimos el cuadro de nombre y el botón al cuadro principal:</ p >
1826+ < em > handler</ em > — un método a invocar cuando se pulsa el botón.</ p >
1827+ < p > A continuación, añadimos la caja de nombre y el botón a la caja principal:</ p >
18271828< div class ="highlight "> < pre > < span > </ span > < code > < span class ="n "> main_box</ span > < span class ="o "> .</ span > < span class ="n "> add</ span > < span class ="p "> (</ span > < span class ="n "> name_box</ span > < span class ="p "> )</ span >
18281829< span class ="n "> main_box</ span > < span class ="o "> .</ span > < span class ="n "> add</ span > < span class ="p "> (</ span > < span class ="n "> button</ span > < span class ="p "> )</ span >
18291830</ code > </ pre > </ div >
1830- < p > Esto completa nuestro diseño; el resto del método de inicio es como antes -
1831- definiendo una MainWindow, y asignando la caja principal como contenido de la
1831+ < p > Esto completa nuestro diseño; el resto del método de inicio es como antes
1832+ — definiendo una MainWindow, y asignando la caja principal como contenido de la
18321833ventana:</ p >
18331834< div class ="highlight "> < pre > < span > </ span > < code > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> main_window</ span > < span class ="o "> =</ span > < span class ="n "> toga</ span > < span class ="o "> .</ span > < span class ="n "> MainWindow</ span > < span class ="p "> (</ span > < span class ="n "> title</ span > < span class ="o "> =</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> formal_name</ span > < span class ="p "> )</ span >
18341835< span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> main_window</ span > < span class ="o "> .</ span > < span class ="n "> content</ span > < span class ="o "> =</ span > < span class ="n "> main_box</ span >
18351836< span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> main_window</ span > < span class ="o "> .</ span > < span class ="n "> show</ span > < span class ="p "> ()</ span >
18361837</ code > </ pre > </ div >
1837- < p > Lo último que tenemos que hacer es definir el manejador del botón. Un manejador
1838- puede ser cualquier método, generador o co- rutina asíncrona; acepta el widget
1839- que generó el evento como argumento, y será invocado cada vez que se pulse el
1840- botón:</ p >
1838+ < p > Lo último que tenemos que hacer es definir el manejador para el botón. Un
1839+ manejador puede ser cualquier método, generador o co‐ rutina asíncrona; acepta el
1840+ widget que generó el evento como argumento, y será invocado cada vez que se
1841+ pulse el botón:</ p >
18411842< div class ="highlight "> < pre > < span > </ span > < code > < span class ="k "> def</ span > < span class ="w "> </ span > < span class ="nf "> say_hello</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> widget</ span > < span class ="p "> ):</ span >
18421843 < span class ="nb "> print</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "Hello, </ span > < span class ="si "> {</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> name_input</ span > < span class ="o "> .</ span > < span class ="n "> value</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span > < span class ="p "> )</ span >
18431844</ code > </ pre > </ div >
1844- < p > El cuerpo del método es una simple sentencia print - sin embargo, interrogará el
1845+ < p > El cuerpo del método es una simple sentencia print — sin embargo, interrogará el
18451846valor actual de la entrada name, y usará ese contenido como el texto que se
18461847imprime.</ p >
1847- < p > Ahora que hemos realizado estos cambios podemos ver cómo quedan iniciando de
1848- nuevo la aplicación . Como antes, usaremos el modo desarrollador:</ p >
1848+ < p > Ahora que hemos realizado estos cambios podemos ver que parece como inicia la
1849+ aplicación otra vez . Como antes, usaremos el modo desarrollador:</ p >
18491850< div class ="tabbed-set tabbed-alternate " data-tabs ="1:3 "> < input checked ="checked " id ="__tabbed_1_1 " name ="__tabbed_1 " type ="radio " /> < input id ="__tabbed_1_2 " name ="__tabbed_1 " type ="radio " /> < input id ="__tabbed_1_3 " name ="__tabbed_1 " type ="radio " /> < div class ="tabbed-labels "> < label for ="__tabbed_1_1 "> macOS</ label > < label for ="__tabbed_1_2 "> Linux</ label > < label for ="__tabbed_1_3 "> Windows</ label > </ div >
18501851< div class ="tabbed-content ">
18511852< div class ="tabbed-block ">
@@ -1871,11 +1872,11 @@ <h2 id="anadir-algun-contenido-propio">Añadir algún contenido propio<a class="
18711872</ div >
18721873</ div >
18731874</ div >
1874- < p > Notarás que esta vez, < em > no</ em > instala dependencias. Briefcase puede detectar que la
1875- aplicación ha sido ejecutada anteriormente, y para ahorrar tiempo, sólo
1876- ejecutará la aplicación. Si añades nuevas dependencias a tu aplicación, puedes
1877- asegurarte de que se instalan pasando una opción < code > -r</ code > cuando ejecutes < code > briefcase
1878- dev</ code > .</ p >
1875+ < p > Notarás que esta vez, < em > no</ em > instala dependencias. El portafolio Briefcase puede
1876+ detectar que la aplicación ha sido ejecutada anteriormente, y para ahorrar
1877+ tiempo, sólo ejecutará la aplicación. Si añades dependencias nuevas a tu
1878+ aplicación, puedes asegurarte que se instalan pasando una opción < code > -r</ code > cuando
1879+ cunado ejecute < code > briefcase dev</ code > .</ p >
18791880< p > Esto debería abrir una ventana IGU:</ p >
18801881< div class ="tabbed-set tabbed-alternate " data-tabs ="2:1 "> < input checked ="checked " id ="__tabbed_2_1 " name ="__tabbed_2 " type ="radio " /> < div class ="tabbed-labels "> < label for ="__tabbed_2_1 "> macOS</ label > </ div >
18811882< div class ="tabbed-content ">
0 commit comments