• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

mariogouveia1

wx.Panel()

6 mensagens neste tópico

Ola pessoal... eu ando um pouco atarefado com a p.a.t. que tenho fazer... e como não consigo fazer algumas cenas  peço que me dêm uma ajuda...

como é que eu coloco o botão "Criar" debaixo do painel e centrado?

class CriarConta (wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(200, 150))
        self.CreateStatusBar()
        panel=wx.Panel(self, -1)
        
        self.user=wx.TextCtrl(panel,-1,'',style=wx.TE_LEFT)
        self.pw=wx.TextCtrl(panel,-1,'',style=wx.TE_LEFT|wx.TE_PASSWORD)
        self.confirmar=wx.TextCtrl(panel,-1,'',style=wx.TE_LEFT|wx.TE_PASSWORD)
        gride= wx.GridBagSizer(2,4)
        gride.Add(wx.StaticText(panel,-1,u'Username: '),(1,0),(1,1),wx.ALIGN_LEFT)
        gride.Add(wx.StaticText(panel,-1,u'Password: '),(2,0),(1,1),wx.ALIGN_LEFT)
        gride.Add(self.user,(1,1),(1,1),wx.EXPAND)
        gride.Add(self.pw,(2,1),(1,1),wx.EXPAND)
        gride.Add(wx.StaticText(panel,20,u'Confirmar Password: '),(3,0),(1,1),wx.ALIGN_RIGHT)
        gride.Add(self.confirmar, (3,1), (1,1), wx.EXPAND)
        gride.AddGrowableCol(1)
        gride.AddGrowableRow(5)
        panel.SetSizer(gride)
        
        wx.Button(self, 300, u'Criar')
        self.Bind(wx.EVT_BUTTON, self.Criar, id=300)
        self.Center()
        
    def Criar (self, evt):
        if self.pw ==self.confirmar:
            print 'todo bem'
            self.Close()
        else:
            print 'tente de novo'
            self.Close()
            frame = CriarConta(None, -1, "Agenda:.. Criar Conta... ") # Cria A janela
            frame.Show(True) # Verifica se a janela foi criada

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

esse problema ja esta resolvido... eu agora preciso e de outra coisa... que nao consigo mesmo...

    def Criar (self, evt):
        if self.pw ==self.confirmar:
            print 'todo bem'
            self.Close()
        else:
            print 'tente de novo'
            self.Close()
            frame = CriarConta(None, -1, "Agenda:.. Criar Conta... ") # Cria A janela
            frame.Show(True) # Verifica se a janela foi criada

nesta parte do programa da me sempre o mesmo resultado... quer escreva o mesmo... quer escreva diferente... alguem me pode ajudar?


Moderação|fnds: Usa o geshituto para colorires o código ;)
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

este programa o que faz e ... criar uma janela em que posso criar uma conta de utilizador para poder entrar o programa principal... esta janela cria um novo utilizador... e pra tal tem de verificar se a password e igual a confirmação... se sim escreve na consola tudo bem... se nao manda uma mensagem de erro na consola e o utilizador vai tentar de novo... a parte de centrar o botao eu resolvi de outra maneira... colocando o botao alinhado a esquerda... agora esta parte e importante

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

1o. A função Criar não é chamada...

Segundo,

        self.pw=wx.TextCtrl(panel,-1,'',style=wx.TE_LEFT|wx.TE_PASSWORD)
        self.confirmar=wx.TextCtrl(panel,-1,'',style=wx.TE_LEFT|wx.TE_PASSWORD)

estas variáveis são widgets, ou seja, neste caso, os espaços de texto mesmo. O que tu queres é comparar o que lá está. Para tal tens de fazer em vez de

if self.pw ==self.confirmar:

mas sim

if self.pw.getValue() == self.confirmar.getValue()

Cumps ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora