Código de Python - Entrada de texto con GTK

Imágen de perfil
Val: 666
Bronce
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Entrada de texto con GTKgráfica de visualizaciones


Python

Publicado el 13 de Octubre del 2008 por Xavi (548 códigos)
10.635 visualizaciones desde el 13 de Octubre del 2008
Ejemplo de utilización de entradas de texto con el control gtk.Entry. Se muestra la utilización de los eventos: activate, changed, delete-text, insert-text

Versión 1

Publicado el 13 de Octubre del 2008gráfica de visualizaciones de la versión: Versión 1
10.636 visualizaciones desde el 13 de Octubre del 2008
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

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
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
 
#
# pygtk
#
# Ejemplo de utilizacion de entradas de texto (Entry)
# 
# http://www.lawebdelprogramador.com
#
 
import pygtk
# Indicamos que deseamos utilizar la versión 2.0 de gtk
pygtk.require('2.0')
import gtk
import re
 
class X(object):
    def __init__(self):
        # Creamos la ventana. Indicamos que se desea una ventana sometida a las
        # decoraciones y posicionamiento del manejador de ventanas.
        self.window=gtk.Window(gtk.WINDOW_TOPLEVEL)
 
        # Conector para cuando se va a cerrar la ventana
        self.window.connect("destroy", self.destroy, None)
 
        # Creamos una caja vertical...
        vbox=gtk.VBox(True)
 
        # Creamos el cuadro de texto Entry limitado a 50 caracteres
        entry=gtk.Entry(50)
        entry.connect("activate",self.entryEnter,entry)
        entry.connect("changed",self.entryChanged,entry)
        entry.connect("delete-text",self.entryDelete,entry)
        entry.connect("insert-text",self.entryInsert,entry)
        entry.show()
        vbox.pack_start(entry)
 
        # Creamos una caja horizontal para contener los checks
        hbox=gtk.HBox(True)
 
        # Creamos los checks con sus conectores
        checkEditable=gtk.CheckButton("Editable")
        checkEditable.set_active(True)
        checkEditable.connect("toggled",self.toggle_editable,entry)
        checkEditable.show()
 
        checkVisible=gtk.CheckButton("Visible")
        checkVisible.set_active(True)
        checkVisible.connect("toggled",self.toggle_visible,entry)
        checkVisible.show()
 
        # Colocamos los checks en la caja horizontal
        hbox.pack_start(checkEditable)
        hbox.pack_start(checkVisible)
        hbox.show()
        # Añadimos la caja horizontal a la caja vertical
        vbox.pack_start(hbox)
 
        # Creamos un boton para seleccionar el texto
        button=gtk.Button("seleccionar el texto")
        button.connect("clicked",self.entrySeleccionar,entry)
        button.show()
        vbox.pack_start(button)
 
        vbox.show()
 
        self.window.add(vbox)
        self.window.show()
 
    # Evento que se ejecuta cuando se pulsa la tecla enter
    def entryEnter(self,widget,entry):
        print "activate %s " % entry.get_text()
 
    # Evento que se ejecuta cuando se modifica el contenido
    def entryChanged(self,widget,entry):
        print "changed %s " % entry.get_text()
 
    # Evento que se ejecuta cuando se elimina
    def entryDelete(self,widget,start,end,entry):
        print "delete '%s' start=%d end=%d " % (entry.get_text()[start:end],start,end)
 
    # Evento que se ejecuta cuando se inserta texto
    def entryInsert(self,widget,newText,newTextLength,position,entry):
        # Para este ejemplo, vamos a impedir la entrada de numeros en el cuadro de texto
        if re.match("[0-9]", newText):
            entry.stop_emission("insert-text")
        else:
            print "Insert '%s' lenght=%d " % (newText,newTextLength)
 
    # Evento que se ejecuta cuando se pulsa el boton para seleccionar el texto
    def entrySeleccionar(self,widget,entry):
        # Seleccionamos el texto entero
        entry.select_region(0,len(entry.get_text()))
        # Enviamos el foco al control "entry"
        self.window.set_focus(entry)
 
    # Evento que se ejecuta cuando se pulsa sobre check editable
    # Recibimos como parametros el checkbutton pulsado, y el "entry"
    def toggle_editable(self,checkbutton,entry):
        # Establecemos el valor editable del "entry" igual que el checkbutton
        entry.set_editable(checkbutton.get_active())
        # Enviamos el foco al control "entry"
        self.window.set_focus(entry)
 
    # Evento que se ejecuta cuando se pulsa sobre check visible
    # Recibimos como parametros el checkbutton pulsado, y el "entry"
    def toggle_visible(self,checkbutton,entry):
        # Establecemos el valor visible del "entry" igual que el checkbutton
        entry.set_visibility(checkbutton.get_active())
        # Enviamos el foco al control "entry"
        self.window.set_focus(entry)
 
    def destroy(self,widget,data=None):
        gtk.main_quit()
 
 
if __name__=="__main__":
    X()
    gtk.main()



Comentarios sobre la versión: Versión 1 (0)


No hay comentarios
 

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s1711