Esse objeto é também conhecido como TextBox e serve para entrada de dados.
Um objeto Entry pode ser criado com, por exemplo:
self.tb = gtk.Entry()
Para adicionar esse objeto à tela do XO, numa dada posição, usamos normalmente um objeto Fixed (visto em aula anterior):
Os métodos de Entry são:
show()
hide()
destroy()
get_text()
Para capturar texto digitado
set_text(texto)
Para colocar texto
grab_focus()
Joga o "focus" no objeto. Sugerimos colocar um texto vazio. Aparece o cursor.
set_max_length(n)
Máxima quantidade de dígitos recebíveis
set_size_request(largura, altura)
Pode ser maior ou menor que o espaço para a quantidade de dígitos recebíveis
set_editable(bool)
No caso, bool pode ser True ou False: se pode ou não receber dados teclados.
set_visibility(bool)
A visibilidade aí é do que foi digitado. Bom para password, por exemplo.
No exercício queremos que, quando um botão for clicado, o que foi digitado vá para um Label.
Claro que esse código tem que vir dentro de uma Classe etc. etc. como já mostramos.
#...
def __init__(self):
Activity.__init__(self)
#Definindo o tipo e tamanho das letras
gtk.settings_get_default().props.gtk_font_name = "Bitstream Vera Sans Mono 20"
#Criando base para layout
self.fix = gtk.Fixed()
self.add(self.fix)
self.fix.show()
#Criando Label vazio
self.lb = gtk.Label()
self.fix.put(self.lb, 200,400)
self.lb.show()
#Criando Button
self.bt = gtk.Button("TRANSPORTAR")
self.fix.put(self.bt, 200,600)
self.bt.show()
#Definindo o signal e respectiva função
self.bt.connect("clicked",self.mostra, None)
#Criando um TextBox
self.tb = gtk.Entry()
self.tb.set_max_length(20)
self.tb.set_size_request(300,40)
self.fix.put(self.tb, 200,200)
self.tb.set_text("")
self.tb.show()
self.tb.grab_focus()
def mostra(self,widget,data=None):
self.lb.set_text(self.tb.get_text())
self.tb.set_text("")
Usamos a fonte "Sans Mono 20" para mostrar que é possível mudar a fonte. O que caracteriza a "Sans Mono" em relação a "Sans" (default) é que as letras têm mesma largura (um "i" tem a mesma largura de um "m"). Isso às vezes é importante em edições.
As fontes disponíveis no XO são:
Mesmo que seja possível sair do "modo linha de comando" (Terminal) para a tela inicial do XO, sempre dê um reboot para testar sua aplicação. No XO use: Ctrl+Alt+Erase
LIÇÂO ANTERIOR PRÓXIMA LIÇÂO ÍNDICE HOMEPAGE