sexta-feira, 20 de março de 2015

Tela Pessoas - versão 1

.

#**********************************************************************
# Autor:        ubiratã uaatsim itza I.
# Data:         15/03/2015
# Hora:         21:30:00
#*********************************************************************
# Arquivo:      telaPessoas1.py
#
# Descrição:    O arquivo telaPessoas1.py
#
#               Métodos: .
#
#               Atributos: .
#
# uso:          F5
#               from telaPessoas1 import TelaPessoas1
#               t = TelaPessoas1
#
#               help(t)                 <-- docstring da classe.
#               help(t.TelaPessoas1())  <-- docstring do metodo.
#
#*********************************************************************
#
#*********************************************************************
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#*********************************************************************
#
#from tkinter import *
import tkinter
from tkinter import ttk
from tkinter import messagebox
from tkinter import StringVar

import sys, os

#*********************************************************************
class TelaPessoas1():
    def __init__(self):
        '''Teste das funçoes de IHM.
        '''
        self.v_testeIhm = 'ti'
        self.comprimentoroot = 400
        self.larguraroot = 150
      
        self.root = tkinter.Tk()
    #    self.root.geometry('700x150')
        self.root.title("Tela Pessoas 1")

        self.frames = ttk.Frame(self.root, padding=(3,3,10,10))
        self.telaprincipal = ttk.Frame(self.frames, borderwidth=5, relief="sunken")#, width=200, height=100)#, title='ola')
        self.style = ttk.Style()
        self.style.configure("BW.TLabel", foreground="black", background="white")
      
        self.ventranome = StringVar()
        self.ventranome.set('sem nome')
        self.ventrasenha = StringVar()
        self.ventrasenha.set('sem senha')

        self.varlblp = tkinter.StringVar()
        self.namelbl = ttk.Label(self.telaprincipal, text="Pessoa x", style="BW.TLabel", textvariable=self.varlblp)#, bg='yellow')
        self.entraname = tkinter.Entry(self.telaprincipal)#, textvariable=self.ventranome)
        self.entraname.config(textvariable=self.ventranome)
        self.varlbls = tkinter.StringVar()
        self.senhalbl = ttk.Label(self.telaprincipal, text="Senha", style="BW.TLabel", textvariable=self.varlbls)#, bg='yellow')
        self.entrasenha = tkinter.Entry(self.telaprincipal, textvariable=self.ventrasenha, show='*')

        self.btconectar = ttk.Button(self.telaprincipal, text="Conectar")
      
        self.onevar = tkinter.IntVar()
        self.onevar.set(1)
        self.twovar = tkinter.IntVar()
        self.twovar.set(0)
        self.threevar = tkinter.IntVar()
        self.threevar.set(0)
      
        self.qtdevar = tkinter.StringVar()
        self.qtdevar.set("4")

        self.opc1 = ttk.Radiobutton(self.telaprincipal, text='Um', variable=self.qtdevar, value='1', command=self.qtdepessoas)
        self.opc2 = ttk.Radiobutton(self.telaprincipal, text='Dois', variable=self.qtdevar, value='2', command=self.qtdepessoas)
        self.opc3 = ttk.Radiobutton(self.telaprincipal, text='Tres', variable=self.qtdevar, value='3', command=self.qtdepessoas)
        self.opc4 = ttk.Radiobutton(self.telaprincipal, text='Quatro', variable=self.qtdevar, value='4', command=self.qtdepessoas)

        self.pessoavar = tkinter.StringVar()
        self.pessoavar.set("uti")
        ###indicatoron=0 # faz menu
      
        self.opclbl = ttk.Label(self.telaprincipal, text="Pessoas", style="BW.TLabel")#, bg='yellow')
        self.opcadm = ttk.Radiobutton(self.telaprincipal, text='Administrador', variable=self.pessoavar, value='adm', command=self.pessoa)
        self.opctec = ttk.Radiobutton(self.telaprincipal, text='Tecnico', variable=self.pessoavar, value='tec', command=self.pessoa)
        self.opcres = ttk.Radiobutton(self.telaprincipal, text='Responsavel', variable=self.pessoavar, value='res', command=self.pessoa)
        self.opcuti = ttk.Radiobutton(self.telaprincipal, text='Utilizador', variable=self.pessoavar, value='uti', command=self.pessoa)

        self.wspinlbl = ttk.Label(self.telaprincipal, text="Quantidade", style="BW.TLabel")#, bg='yellow')

        self.telaprincipal.grid(column=0, row=0)#, sticky=(N, S, E, W))
        self.frames.grid(column=0, row=0, columnspan=3, rowspan=2)#, sticky=(N, S, E, W))
        self.namelbl.grid(column=3, row=0, columnspan=2, padx=5, pady=5)#, sticky=(N, W))
        self.entraname.grid(column=3, row=1, columnspan=2, pady=5, padx=5)#, sticky=(N, E, W))
        self.senhalbl.grid(column=3, row=2, columnspan=2, padx=5, pady=5)#, sticky=(N, W))
        self.entrasenha.grid(column=3, row=3, columnspan=2, pady=5, padx=5)#, sticky=(N, E, W))
         
        self.opclbl.grid(column=0, row=0)
        self.opcadm.grid(column=0, row=1)
        self.opctec.grid(column=1, row=1)
        self.opcres.grid(column=0, row=2)
        self.opcuti.grid(column=1, row=2)

        self.opc1.grid(column=0, row=4)
        self.opc2.grid(column=1, row=4)
        self.opc3.grid(column=2, row=4)
        self.opc4.grid(column=3, row=4)
      
        self.btconectar.grid(column=4, row=4)
      
        self.wspinlbl.grid(column=0, row=3)

        self.btconectar.bind("<Button-1>", self.fbtConectar)

        self.root.columnconfigure(0, weight=1)
        self.root.rowconfigure(0, weight=1)
        self.telaprincipal.columnconfigure(0, weight=3)
        self.telaprincipal.columnconfigure(1, weight=3)
        self.telaprincipal.columnconfigure(2, weight=3)
        self.telaprincipal.columnconfigure(3, weight=1)
        self.telaprincipal.columnconfigure(4, weight=1)
        self.telaprincipal.columnconfigure(5, weight=4)
        self.telaprincipal.rowconfigure(1, weight=1)

        print('Atributos da classe TelaPessoas1 instanciados.')    
#------------------------------------------------------------------------------------------
    def versaoTesteIhm():
        """Exibe a versão do Teste IHM.
        """
        messagebox.showinfo("Informaçao", "Teste IHM Versão 1.6")
        print('Teste IHM Versão 1.6')

    def fbtConectar(self, event):
        '''Conecta ao sistema.
        '''
        n = self.ventranome.get()
        if n == 'sem nome':
            messagebox.showinfo('Conexao','Insira um nome válido.')
        else:
            self.ventranome.set(n)
          
        s = self.ventrasenha.get()
        if s == 'sem senha':
            messagebox.showinfo('Conexao','Insira um senha válido.')
        else:
            self.ventrasenha.set(s)

        if n == 'sem nome' or s == 'sem senha':
            messagebox.showinfo('Conexao','Insira um nome e uma senha válidos.')
        else:
            i = messagebox.askyesnocancel('Conexao','Utilizador e senha registrados.\n\nContinuar?')
            if i == True:
                v = self.qtdevar.get()
                if v == '0':
                    self.btconectar.config(state=tkinter.DISABLED)
                    messagebox.showinfo("Informaçao", "Conexão finalizada com sucesso!")
                    print('Tela %s: sim com 0 pessoa.' % v)
                else:
                    '''Atualiza os rótulos do nome e da senha.
                    '''
                    p = self.pessoavar.get()
                    self.root.title('Conectado --> ' + p.upper() + n.upper() + ': ' + v)
                    self.ventranome.set('sem nome')
                    self.ventrasenha.set('sem senha')
                    vv = int(v)
                    vv = vv - 1
                    self.qtdevar.set(str(vv))
                    self.varlblp.set(p.upper() + ' ' + str(vv))
                    self.varlbls.set('Senha ' + str(vv))
                    print('Tela %s: sim.' % v)
            elif i == False:
                print('Tela 3: não.')
            elif i == None:
                print('Tela 3: cancelado.')
      
        print('Funçao do botao conectar.')

    def pessoa(self):
        '''Radiobutton 1, 2, 3 e 4.
        '''
        p = self.pessoavar.get()
        v = self.qtdevar.get()
        self.varlblp.set(p.upper() + ' ' + v)
        self.varlbls.set('Senha ' + v)
        if p == 'adm':
            print('administrador')
        elif p == 'tec':
            print('tecnico')
        elif p == 'res':
            print('responsavel')
        elif p == 'uti':
            print('utilizador')
        else:
            print('nada')
        self.btconectar.config(state=tkinter.NORMAL)

    def qtdepessoas(self):
        '''Radiobutton 1, 2, 3 e 4.
        '''
        v = self.qtdevar.get()
        p = self.pessoavar.get()
        self.varlblp.set(p.upper() + ': ' + v)
        self.varlbls.set('Senha: ' + v)
        if v == '1':
            v_qtde = 1
            print('%s pessoa' %v_qtde)
        elif v == '2':
            v_qtde = 2
            print('%s pessoas' %v_qtde)
        elif v == '3':
            v_qtde = 3
            print('%s pessoas' %v_qtde)
        elif v == '4':
            v_qtde = 4
            print('%s pessoas' %v_qtde)
        else:
            v_qtde = 0
            messagebox.showinfo('Conexao','Concluído com sucesso!')
            print('%s pessoa' %v_qtde)
        self.btconectar.config(state=tkinter.NORMAL)     
#------------------------------------------------------------------------------------------
if __name__ == '__main__':
    TelaPessoas1()
    print ('Classe TelaPessoas1 instanciada.')
#************************************************************************
.

Nenhum comentário:

Postar um comentário