terça-feira, 24 de março de 2015

Um pouco de tkinter e sqlite.

.



#**********************************************************************
# Autor:        ubiratã uaatsim itza I.
# Data:         15/03/2015
# Hora:         21:30:00
#*********************************************************************
# Arquivo:      telaPessoas2.py
#
# Descrição:    O arquivo telaPessoas2.py
#
#               Métodos: .
#
#               Atributos: .
#
# uso:          F5
#               from telaPessoas2 import TelaPessoas2
#               t = TelaPessoas2
#
#               help(t)                 <-- docstring da classe.
#               help(t.TelaPessoas2())  <-- docstring do metodo.
#
#*********************************************************************
#
#*********************************************************************
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#*********************************************************************
#
try:
   # from tkinter import *
    import tkinter
    from tkinter import ttk
    from tkinter import messagebox
    from tkinter import StringVar
   # import sys, os
    import sqlite3
    import datetime
    print('Classes instanciadas com sucesso!')
except ImportError:
    print('Erro na importação das classes.')
#*********************************************************************
class TelaPessoas2():
    def __init__(self):
        '''Teste das funçoes de IHM.
        '''
        self.v_testeIhm = 'ti'
        self.comprimentoroot = 400
        self.larguraroot = 150
      
        self.tela1 = tkinter.Tk()
    #    self.tela1.geometry('700x150')
        self.tela1.title("Tela Pessoas 2")

        self.frames = ttk.Frame(self.tela1, 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 = tkinter.StringVar()
        self.ventranome.set('sem nome')
        self.ventrasenha = tkinter.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.vqtdetipopessoa = tkinter.StringVar()
        self.vqtdetipopessoa.set("4")

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

        self.vtipopessoa = tkinter.StringVar()
        self.vtipopessoa.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.vtipopessoa, value='adm', command=self.tipoPessoa)
        self.opctec = ttk.Radiobutton(self.telaprincipal, text='Tecnico', variable=self.vtipopessoa, value='tec', command=self.tipoPessoa)
        self.opcres = ttk.Radiobutton(self.telaprincipal, text='Responsavel', variable=self.vtipopessoa, value='res', command=self.tipoPessoa)
        self.opcuti = ttk.Radiobutton(self.telaprincipal, text='Utilizador', variable=self.vtipopessoa, value='uti', command=self.tipoPessoa)

        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.tela1.columnconfigure(0, weight=1)
        self.tela1.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 instanciados - Classe TelaPessoas2.')    
#------------------------------------------------------------------------------------------
    def versaoTelaPessoas2():
        """Exibe a versão da classe TelaPessoas2.
        """
        messagebox.showinfo("Informaçao", "TelaPessoas2 - Versão 1.2")
        print('TelaPessoas2 Versão 1.2')

    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.vqtdetipopessoa.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.ventranome.get()
                    s = self.ventrasenha.get()
                    n = self.vqtdetipopessoa.get()
                    t = self.vtipopessoa.get()

                    self.tela1.title('Conectado --> ' + t.upper() + n.upper() + ': ' + v + p + s)
                    self.ventranome.set('sem nome')
                    self.ventrasenha.set('sem senha')
                    vv = int(v)
                    vv = vv - 1
                    self.vqtdetipopessoa.set(str(vv))
                    self.varlblp.set(p.upper() + ' ' + str(vv))
                    self.varlbls.set('Senha ' + str(vv))
                    print('Tela %s: sim.' % v)
                    TelaPessoas2.persistencia2_criainsere('bd0', p, s, t)# arquivo, pessoa, senha, tipo
                    TelaPessoas2.persistencia2_mostra('bd0', 'tan')
            elif i == False:
                print('Tela 3: não.')
            elif i == None:
                print('Tela 3: cancelado.')
      
        print('Funçao do botao conectar.')

    def tipoPessoa(self):
        '''Radiobutton 1, 2, 3 e 4.
        '''
        p = self.vtipopessoa.get()
        v = self.vqtdetipopessoa.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.vqtdetipopessoa.get()
        p = self.vtipopessoa.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)

    def persistencia2_criainsere(vnomearquivo, vnomepessoa, vsenhapessoa, vtipopessoa):#, _dataconexao):
        '''tipos: texto, texto, integer, real, data

    None type is converted to NULL
    int type is converted to INTEGER
    float type is converted to REAL
    str type is converted to TEXT
    bytes type is converted to BLOB
        '''
        try:                                        # db = sqlite3.connect(':memory:')
            _conexao = sqlite3.connect(vnomearquivo)# example.db ou :memory cria no RAM.
            _cursor = _conexao.cursor()
            _cursor.execute("CREATE TABLE tabpessoas(ID INTEGER PRIMARY KEY NOT NULL, Nomepessoa TEXT, Senhapessoa TEXT, Tipopessoa TEXT)") # Cria Tabela. , dataconexao data
            _cursor.execute("INSERT INTO tabpessoas(ID, Nomepessoa, Senhapessoa, Tipopessoa) VALUES(2, ?, ?, ?)", (vnomepessoa, vsenhapessoa, vtipopessoa))# Insere os dados na coluna. , _dataconexao
            _conexao.commit()# Salva as alteraçoes.
            _cursor.execute('SELECT SQLITE_VERSION()')
            vdata = _cursor.fetchone()
            print ("SQLite version: %s" % vdata)
            _cursor.close()
            _conexao.close()
            print('Tabela criada com sucesso: ', vnomearquivo)
            print('Tabela fechada com sucesso: ', vnomearquivo)
           
        except sqlite3.Error as e:
            _cursor.close()
            _conexao.close()# Desconecta
            print ('Um erro ocorreu:', e.args[0])

    def persistencia2_mostra(vnomearquivo, _busca):
        '''p.persistencia2_mostra('bd0.db', 'nomepessoa')
        '''
        try:
            _conexao = sqlite3.connect(vnomearquivo)#example.db ou :memory cria no RAM.
            _cursor = _conexao.cursor()
  
        #    print(_cursor.fetchall())    cursor.fetchmany(2)
            for row in _cursor.execute('SELECT * FROM tabpessoas'):#### ORDER BY ID'):
                print(row)
        #        _cursor.execute('SELECT * FROM tabpessoas WHERE trans = ?', _busca)

        #    print(_cursor.fetchone())
        #    _cursor.execute("insert into tabpessoas(Nomepessoa, Senhapessoa, Tipopessoa) values (?, ?, ?)", (vnomepessoa, vsenhapessoa, vtipopessoa))
            _cursor.execute("select Nomepessoa, Senhapessoa, Tipopessoa from tabpessoas")
            row = _cursor.fetchone()
            print(row[0])
            print(row[1])
            print(row[2])
        #    print(Nomepessoa, "=>", row[0], type(row[0]))
        #    print(Senhapessoa, "=>", row[1], type(row[1]))
        #    print(Tipopessoa, "=>", row[1], type(row[1]))
        #
            _cursor.close()
            _conexao.close()# Desconecta
            print('Desconectado com sucesso - 1')
          
        except sqlite3.Error as e:
            print ('Um erro ocorreu:'), e.args[0]
            _cursor.close()
            _conexao.close()# Desconecta
            print('Desconectado com erro')
#------------------------------------------------------------------------------------------
if __name__ == '__main__':
    TelaPessoas2()
    print ('Classe instanciada - TelaPessoas2!')
#************************************************************************

.

segunda-feira, 23 de março de 2015

persistência

.


#********************************************************************
# Autor:        ubiratã uaatsim itza I.
# Data:         23/10/2014
# Hora:         17:40:06
#*********************************************************************
# Arquivo:      persistencia.py
#
# Descrição:    O arquivo persistencia.py
#
# uso:          from persistencia import Persistencia
#               p = Persistencia
#               p.
#
# Origem:       https://docs.python.org/2/library/sqlite3.html
#
#*********************************************************************
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#*********************************************************************
import sqlite3
import datetime
#*********************************************************************
class Persistencia():
    def __init__(self):
        '''
        '''
        v_persistencia= 'p'
        print('Atributos estanciados - classe Persistencia.')
#*********************************************************************
    def versaoPersistencia():
        '''Versão
        '''
        print('Persistência - Versão 1)
    def persistencia_criainsere(_nomearquivo, _datax, _trans, _simbolo, _qtde, _preco):
        '''p.persistencia_criainsere('bd6.db', '28102014', 'trans', 'simbolo', 4.5, 23)
        '''
   #     persons = [
   #         ("Hugo", "Boss"),
   #         ("Calvin", "Klein")
   #         ]
       
        try:
            _conexao = sqlite3.connect(_nomearquivo)#example.db ou :memory cria no RAM.
            _cursor = _conexao.cursor()
            _cursor.execute('''CREATE TABLE tabelaandamento(data text, trans text, simbolo text, qtde real, preco real)''')# Cria Tabela.
            _cursor.execute("INSERT INTO tabelaandamento VALUES ('28102014', 'trans', 'simbolo', 4.5, 23)")# Insere os dados.
            _cursor.execute("INSERT INTO tabelaandamento VALUES ('29102014', 'pagamento', 'tantec', 8.5, 63)")
            _cursor.execute("INSERT INTO tabelaandamento VALUES ('24102014', 'compra', '$$$', 88.7, 235)")
                            # _datax, _trans, _simbolo, _qtde, _preco)")# Insere a row de dados.
            # Fill the table
       #     con.executemany("insert into person(firstname, lastname) values (?, ?)", persons)
            print('Tabela criada com sucesso: ', _nomearquivo)
            _conexao.commit()# Salva as alteraçoes.
            print('Tabela fechada com sucesso: ', _nomearquivo)
            _cursor.close()
            _conexao.close()
       
        except sqlite3.Error as e:
            print ('Um erro ocorreu:', e.args[0])
            _cursor.close()
            _conexao.close()# Desconecta
#---------------------------------------------------------------------
    def persistencia_mostra(_nomearquivo, _busca):
        '''p.persistencia_mostra('bd0.db', 'trans')
        '''
        try:
            _conexao = sqlite3.connect(_nomearquivo)#example.db ou :memory cria no RAM.
            _cursor = _conexao.cursor()
   
        #    print(_cursor.fetchall())
            for row in _cursor.execute('SELECT * FROM tabelaandamento ORDER BY data'):
                print (row)
        #        _cursor.execute('SELECT * FROM tabelaandamento WHERE trans = ?', _busca)
       
        #    print(_cursor.fetchone())
            _cursor.close()
            _conexao.close()# Desconecta
            print('Desconectado com sucesso - 1')
           
        except sqlite3.Error as e:
            print ('Um erro ocorreu:'), e.args[0]
            _cursor.close()
            _conexao.close()# Desconecta
            print('Desconectado com erro')
#*********************************************************************
if __name__ == '__main__':
    Persistencia()
    print ('Classe instanciada - Persistencia.')
#*********************************************************************
.

sexta-feira, 20 de março de 2015

Tela máquina - versão 1

.

#*********************************************************************
# Autor:        ubiratã uaatsim itza I.
# Data:         10/03/2014
# Hora:         17:40:06
#*********************************************************************
# Arquivo:      telaMaquina1.py
#
# Descrição:   O arquivo telaMaquina1.py
#
#               Métodos:
#
# uso:          from telaMaquina1 import TelaMaquina1
#               p = TelaMaquina1
#               p.
#
#*********************************************************************
#
#*********************************************************************
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#*********************************************************************
#
#*********************************************************************
import random
import tkinter
from tkinter import ttk
from tkinter import messagebox

import sys, os
#*********************************************************************
#
#*********************************************************************
class TelaMaquina1(object):
    def __init__(self):
        self.v_padrao = 'p'
        p = TelaMaquina1

        self.tela1 = tkinter.Tk()
        self.style = ttk.Style()
        self.tela1.geometry('270x500')
        self.tela1.title('Máquina')

        self.rotulotemperatura = tkinter.Label(self.tela1, text='Temperatura (.C)', bg='yellow')
        self.rotulotemperatura.pack(pady=10, padx=10)
        self.vartemperatura = tkinter.IntVar()
        self.escalatemperatura = tkinter.Scale(self.tela1, orient=tkinter.HORIZONTAL, from_=0, to=60, length=200, width="10", resolution=1, activebackground="blue", variable=self.vartemperatura, command=self.escalaTemperatura)
        self.escalatemperatura.pack()

        self.rotuloagua = tkinter.Label(self.tela1, text='Luz (percentual)', bg='yellow')
        self.rotuloagua.pack(pady=10, padx=10)
        self.varagua = tkinter.IntVar()
        self.escalaagua = tkinter.Scale(self.tela1, orient=tkinter.HORIZONTAL, from_=0, to=100, length=200, width="10", resolution=1, activebackground="blue", variable=self.varagua, command=self.escalaAgua)
        self.escalaagua.pack()

        self.rotuloluz = tkinter.Label(self.tela1, text='Água (percentual)', bg='yellow')
        self.rotuloluz.pack(pady=10, padx=10)
        self.varluz = tkinter.IntVar()
        self.escalaluz = tkinter.Scale(self.tela1, orient=tkinter.HORIZONTAL, from_=0, to=100, length=200, width="10", resolution=1, activebackground="blue", variable=self.varluz, command=self.escalaLuz)
        self.escalaluz.pack()

        self.rotuloportae = tkinter.Label(self.tela1, text='Porta Esquerda', bg='yellow')
        self.rotuloportae.pack(pady=10, padx=10)
        self.varportae = tkinter.IntVar()

        self.rotuloportap = tkinter.Label(self.tela1, text='Porta principal', bg='yellow')
        self.rotuloportap.pack(pady=10, padx=10)
        self.varportap = tkinter.IntVar()

        self.rotuloportad = tkinter.Label(self.tela1, text='Porta Direita', bg='yellow')
        self.rotuloportad.pack(pady=10, padx=10)
        self.varportad = tkinter.IntVar()

        self.rotulouso = tkinter.Label(self.tela1, text='Tempo de Uso', bg='yellow')
        self.rotulouso.pack(pady=10, padx=10)
        self.varuso = tkinter.IntVar()

        print('Atributos instanciados - Classe Padrão')
#*********************************************************************
    def versao():
        '''27/02/2015
        '''
        print('Classe Padrão - versao 1.0')
#*********************************************************************
    def spinRetorno(self):
        '''Quantidade de pessoas que se deseja cadastrar.
        '''
        print(self.spinval.get())

    def escalaTemperatura(self, event):
        '''
        '''
        v = str(self.vartemperatura.get())
        print(v)

    def escalaLuz(self, event):
        '''
        '''
        v = str(self.varluz.get())
        print(v)

    def escalaAgua(self, event):
        '''
        '''
        v = str(self.varagua.get())
        print(v)

#*********************************************************************
if __name__ == '__main__':
    TelaMaquina1()
    print ('Classe instanciada - Padrao!')
#*********************************************************************

.

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.')
#************************************************************************
.

Tela Experimento - versão 1




 

#*********************************************************************
# Autor:        ubiratã uaatsim itza I.
# Data:         15/03/2015
# Hora:         21:30:00
#*********************************************************************
# Arquivo:      testeIhm6.py
#
# Descrição:    O arquivo testeIhm6.py
#
#               Métodos: .
#
#               Atributos: .
#
# uso:          F5
#               from testeIhm6 import TesteIhm6
#               t = TesteIhm6
#
#               help(t)                 <-- docstring da classe.
#               help(t.versaoPadrao())  <-- 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 telaExperimento1():
    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 Experimento 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.varlblp = tkinter.StringVar()
        self.varlblp.set('Experimento')

        self.varlbls = tkinter.StringVar()
        self.varlbls.set('Grupo')

        self.ventranome = StringVar()
        self.ventranome.set('sem nome')
        self.namelbl = ttk.Label(self.telaprincipal, text="Experimento", style="BW.TLabel", textvariable=self.varlblp)#, bg='yellow')
        self.entraname = tkinter.Entry(self.telaprincipal)#, textvariable=self.ventranome)
        self.entraname.config(textvariable=self.ventranome)

        self.ventrasenha = StringVar()
        self.ventrasenha.set('sem grupo')
        self.senhalbl = ttk.Label(self.telaprincipal, text="Grupo", style="BW.TLabel", textvariable=self.varlbls)#, bg='yellow')
        self.entrasenha = tkinter.Entry(self.telaprincipal, textvariable=self.ventrasenha)

        self.btconectar = ttk.Button(self.telaprincipal, text="Feito")
       
        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.opclbl = ttk.Label(self.telaprincipal, text="Descriçao", style="BW.TLabel")#, bg='yellow')
        self.descricao = tkinter.Text(self.telaprincipal, height=10, width=30)
        self.descricao.insert('1.0','sem descriçao')
        self.lbldatai = ttk.Label(self.telaprincipal, text="Data inicio: ", style="BW.TLabel")#, bg='yellow')
        self.lbldataf = ttk.Label(self.telaprincipal, text="Data final: ", style="BW.TLabel")#, bg='yellow')

        self.ventradataini = StringVar()
        self.ventradataini.set('sem data')
        self.entradataini = tkinter.Entry(self.telaprincipal)#, textvariable=self.ventranome)
        self.entradataini.config(textvariable=self.ventradataini)

        self.ventradatafin = StringVar()
        self.ventradatafin.set('sem data')
        self.entradatafin = tkinter.Entry(self.telaprincipal)#, textvariable=self.ventranome)
        self.entradatafin.config(textvariable=self.ventradatafin)
       

        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.descricao.grid(column=0, row=1, columnspan=2, pady=5, padx=5)
         
        self.opclbl.grid(column=0, row=0)
       
        self.btconectar.grid(column=4, row=4)
       
        self.lbldatai.grid(column=0, row=3)
        self.entradataini.grid(column=1, row=3)
       
        self.lbldataf.grid(column=0, row=4)
        self.entradatafin.grid(column=1, row=4)

        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('Variaveis Tela Experimento 1 instanciadas.')
#------------------------------------------------------------------------------------------
    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':
            pass
        else:
            self.ventranome.set(n)
           
        s = self.ventrasenha.get()
        if s == 'sem senha':
            pass
        else:
            self.ventrasenha.set(s)

        if n == 'sem nome' or s == 'sem senha':
            pass
        else:
            i = messagebox.askyesnocancel('Conexao','Utilizador e senha registrados.\n\nContinuar?')
            if i == True:
                v = self.qtdevar.get()
                p = self.pessoavar.get()
                self.root.title('Conectado --> ' + n.upper() + v + p.upper())
                self.ventranome.set('....')
                self.ventrasenha.set('....')
                print('Tela 3: sim')
            elif i == False:
                print('Tela 3: não')
            elif i == None:
                print('Tela 3: saiu')
       
        print('Funçao do botao conectar.')

    def pessoa(self):
        '''Radiobutton 1, 2, 3 e 4.
        '''
        p = self.pessoavar.get()
        if p == 'adm':
            print('administrador')
        elif p == 'tec':
            print('tecnico')
        elif p == 'res':
            print('responsavel')
        elif p == 'uti':
            print('utilizador')
        else:
            print('nada')

    def qtdepessoas(self):
        '''
        '''
        pass

    def tela1Principal():
        '''
        '''
       
#------------------------------------------------------------------------------------------
if __name__ == '__main__':
    telaExperimento1()
    print ('Tela Experimento 1 instanciada.')
#************************************************************************



.

segunda-feira, 16 de março de 2015

Usando Tkinter no Linux


.


.
#*********************************************************************
# Autor:        ubiratã uaatsim itza I.
# Data:         15/03/2015
# Hora:         21:30:00
#*********************************************************************
# Arquivo:      testeIhm6.py
#
# Descrição:    O arquivo testeIhm6.py
#
#               Métodos: .
#
#               Atributos: .
#
# uso:          F5
#               from testeIhm6 import TesteIhm6
#               t = TesteIhm6
#
#               help(t)                 <-- docstring da classe.
#               help(t.versaoPadrao())  <-- 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 TesteIhm6():
    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("Modulo IHM 5")

        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.namelbl = ttk.Label(self.telaprincipal, text="Utilizador", style="BW.TLabel")#, bg='yellow')
        self.entraname = tkinter.Entry(self.telaprincipal)#, textvariable=self.ventranome)
        self.entraname.config(textvariable=self.ventranome)
        self.senhalbl = ttk.Label(self.telaprincipal, text="Senha", style="BW.TLabel")#, 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("3")

        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("adm")
        ###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)
#------------------------------------------------------------------------------------------
    def versaoTesteIhm():
        """Exibe a versão do Teste IHM.
        """
        print('Teste IHM Versão 1.6')

    def fbtConectar(self, event):
        '''Conecta ao sistema.
        '''
        n = self.ventranome.get()
        if n == 'sem nome':
            pass
        else:
            self.ventranome.set(n)
           
        s = self.ventrasenha.get()
        if s == 'sem senha':
            pass
        else:
            self.ventrasenha.set(s)

        if n == 'sem nome' or s == 'sem senha':
            pass
        else:
            i = messagebox.askyesnocancel('Conexao','Utilizador e senha registrados.\n\nContinuar?')
            if i == True:
                self.root.title('Conectado --> ' + n.upper())
                print('Tela 3: sim')
            elif i == False:
                print('Tela 3: não')
            elif i == None:
                print('Tela 3: saiu')
       
        print('Funçao do botao conectar.')

    def pessoa(self):
        '''Radiobutton 1, 2, 3 e 4.
        '''
        v = self.pessoavar.get()
        if v == 'adm':
            print('administrador')
        elif v == 'tec':
            print('tecnico')
        elif v == 'res':
            print('responsavel')
        elif v == 'uti':
            print('utilizador')
        else:
            print('nada')

    def qtdepessoas(self):
        '''Radiobutton 1, 2, 3 e 4.
        '''
        v = self.qtdevar.get()
        if v == '1':
            print('uma pessoa')
        elif v == '2':
            print('duas pessoas')
        elif v == '3':
            print('tres pessoas')
        elif v == '4':
            print('quatro pessoas')
        else:
            print('nenhuma pessoa')

    def tela1Principal():
        '''
        '''
       

#------------------------------------------------------------------------------------------
if __name__ == '__main__':
    TesteIhm6()
    print ('TesteIhm 6 ativado.')
#************************************************************************
.

segunda-feira, 9 de março de 2015

Usando Tkinter no Janelas

.


#*********************************************************************
# Autor:        ubiratã uaatsim itza I.
# Data:         10/03/2014
# Hora:         17:40:06
#*********************************************************************
# Arquivo:      padrao.py
#
# Descrição:   O arquivo padrao.py
#
#               Métodos:
#
# uso:          from padrao import Padrao
#               p = Padrao
#               p.
#
#*********************************************************************
#
#*********************************************************************
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#*********************************************************************
#
#*********************************************************************
import random
import tkinter
from tkinter import ttk
from tkinter import messagebox
#from tkinter import Combobox
import sys, os
#*********************************************************************
#
#*********************************************************************
class Padrao(object):
    def __init__(self):
        self.v_padrao = 'p'
        p = Padrao

        self.tela1 = tkinter.Tk()
        self.style = ttk.Style()
        available_themes = self.style.theme_names()
        random_theme = random.choice(available_themes)
        self.style.theme_use(random_theme)
        self.tela1.title(random_theme)

        self.telax = tkinter.Tk()
        self.telax.title('tanzinho')
        frmx = ttk.Frame(self.telax)
        frmx.pack(expand=True, fill='both')
        self.b3 = ttk.Button(frmx, text='Tanzinho')
        self.b3['command'] = self.bt3telaxMuda
        self.b3.pack(pady=2)

        frm = ttk.Frame(self.tela1)
        frm.pack(expand=True, fill='both')
    # create a Combobox with themes to choose from
        self.combo = ttk.Combobox(frm, values=available_themes)
        self.combo.pack(padx=72, pady=10)
        self.combo.bind('<Return>', self.bt1muda_estilo)

     #   ttk.Separator()

        self.cbvalor = tkinter.StringVar()
        self.comboopcao = ttk.Combobox(frm, textvariable=self.cbvalor, state='readonly')
        self.comboopcao['values']=('grupos','pessoas','experimento','máquina')
        self.comboopcao.current(2)
        self.comboopcao.pack(padx=72, pady=10)
        self.comboopcao.bind('<<ComboboxSelected>>', self.cbMudanca)
       
    # make a Button to change the style
        self.b1 = ttk.Button(frm, text='Aceitar')
        self.b1['command'] = self.bt1muda_estilo
        self.b1.pack(pady=2)

        self.combo.bind('<Return>', self.bt2tela3)
        self.b2 = ttk.Button(frm, text='Opção')
        self.b2['command'] = self.bt2tela3
        self.b2.pack(pady=2)

        self.n=tkinter.StringVar()
        self.rotulonome = tkinter.Label(self.tela1, text='Nome', bg='yellow')
        self.rotulonome.pack(pady=10, padx=10)
        self.N1=tkinter.Entry(self.tela1, width=25, textvariable=self.n)
        self.N1.bind("<Return>", self.entradaNome)
     #   self.n.set("Entre com o seu nome: ")
        self.N1.pack(pady=10, padx=10)

        self.s=tkinter.StringVar()
        self.rotulosenha = tkinter.Label(self.tela1, text='Senha', bg='yellow')
        self.rotulosenha.pack(pady=10, padx=10)
        self.S1=tkinter.Entry(self.tela1, width=25, textvariable=self.s)
        self.S1.bind("<Return>", self.entradaSenha)
     #   self.s.set("Entre com a sua senha: ")
        self.S1.pack(pady=10, padx=10)

        self.spinval = tkinter.IntVar()
        self.wspin = tkinter.Spinbox(self.tela1, from_=0, to=10, textvariable=self.spinval, command=self.spinRetorno)
        self.wspin.pack(pady=10, padx=10)

        print('Atributos instanciados - Classe Padrão')
#*********************************************************************
    def versao():
        '''27/02/2015
        '''
        print('Classe Padrão - versao 1.0')

    def tela2():
        '''
        '''
        tela2 = tkinter.Tk()
        l = tkinter.Label(tela2, text="Ola, mondo!\nTkinter em ação!\nSee http://pythonce.sf.net.")
        b = tkinter.Button(tela2, text='Quit', command=tela2.destroy)
        l.pack()
        b.pack()
        print('tela 2')

    def bt1muda_estilo(self, event=None):
        """Muda a configuração do estilo com base no conteudo selecinado no Combobox"""
        conteudo = self.combo.get()
       
        try:
            self.style.theme_use(conteudo)
        except tkinter.TclError as err:
            messagebox.showerror('Error', err)
        else:
            self.tela1.title('Tela 1: '+conteudo)
        self.b1['text']='aceito'

    def bt2tela3(self, event=None):
        '''
        '''
        self.tela1.title('Tela 3')
        i = messagebox.askyesnocancel('Pergunta','Você vai mesmo fazer isto?\n\nContinuar?')
        if i == True:
            self.b2['text']='sim'
            print('Tela 3: sim')
        elif i == False:
            self.b2['text']='não'
            print('Tela 3: não')
        elif i == None:
            self.b2['text']='sai'
            print('Tela 3: saiu')
    #    self.b2.config(state='disabled')
    #    self.b2['text']='Escolhido'

    def bt3telaxMuda(self, event=None):
        '''
        '''
     #   self.telax.title('xxx')
        self.b3['text']='xx'
        print('Tela x')
#*********************************************************************
    def entradaNome(self, event=None):
        '''Entrada de informações.
        '''
        print(self.n.get())
       
    def entradaSenha(self, event=None):
        '''Entrada de informações.
        '''
        print(self.s.get())

    def spinRetorno(self):
        '''Quantidade de pessoas que se deseja cadastrar.
        '''
        print(self.spinval.get())

    def cbMudanca(self, event):
        '''Combobox
        '''
        cbo = self.comboopcao.get()
        print(self.comboopcao.current(),'cbo: ', cbo)
#*********************************************************************
if __name__ == '__main__':
    Padrao()
    print ('Classe instanciada - Padrao!')
#*********************************************************************



.