terça-feira, 5 de janeiro de 2016

Bom programa para produção intelectual

.

.

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



.