Exemple #1
0
def main():
	root = tk.Tk()
	app = Application()
	main = app.Main(root, 540, 380, 'String calculator', False)
	input_ = app.FieldEntry(root, 65, 35, 300)
	output = app.FieldLabel(root, 70, 70, 'Result: ')
	f = Functional()
	#/////////////////////////create buttons////////////////////////////////////////////////
	#/////////////////////////////digits///////////////////////////////////////////////////////
	btns = app.Buttons(root)
	commands = lambda text: (input_.add_text(text), btns.turn_on_buttons(btn_del, btn_clr, btn_calc))

	btn_7 = btns.create_button(text_button='7', x=50, y=100, width_button=1, cms=commands, params=('7',))

	btn_8 = btns.create_button(text_button='8', x=90, y=100, width_button=1, cms=commands, params=('8',))

	btn_9 = btns.create_button(text_button='9', x=130, y=100, width_button=1, cms=commands, params=('9',))

	btn_4 = btns.create_button(text_button='4', x=50, y=135, width_button=1, cms=commands, params=('4',))

	btn_5 = btns.create_button(text_button='5', x=90, y=135, width_button=1, cms=commands, params=('5',))

	btn_6 = btns.create_button(text_button='6', x=130, y=135, width_button=1, cms=commands, params=('6',))

	btn_1 =btns.create_button(text_button='1', x=50, y=170, width_button=1, cms=commands, params=('1',))

	btn_2 = btns.create_button(text_button='2', x=90, y=170, width_button=1, cms=commands, params=('2',))

	btn_3 = btns.create_button(text_button='3', x=130, y=170, width_button=1, cms=commands, params=('3',))

	btn_0 = btns.create_button(text_button='0', x=50, y=205, width_button=1, cms=commands, params=('0',))

	btn_i = btns.create_button(text_button='i', x=50, y=240, width_button=1, cms=commands, params=('i',))

	btn_pi = btns.create_button(text_button='pi', x=90, y=240, width_button=1, cms=commands, params=('pi',))

	btn_e = btns.create_button(text_button='e', x=130, y=240, width_button=1, cms=commands, params=('e',))
	#////////////////////////////signs/////////////////////////////////////////////////////////
	btn_plus = btns.create_button(text_button='+', x=210, y=100, width_button=1, cms=commands, params=('+',))

	btn_minus = btns.create_button(text_button='-', x=250, y=100, width_button=1, cms=commands, params=('-',))

	btn_mul = btns.create_button(text_button='*', x=210, y=135, width_button=1, cms=commands, params=('*',))

	btn_div = btns.create_button(text_button='/', x=250, y=135, width_button=1, cms=commands, params=('/',))

	btn_bracket_left = btns.create_button(text_button='(', x=210, y=170, width_button=1, cms=commands, params=('(',))

	btn_bracket_right = btns.create_button(text_button=')', x=250, y=170, width_button=1, cms=commands, params=(')',))

	btn_sqrt = btns.create_button(text_button='\u221A', x=210, y=205, width_button=1, cms=commands, params=('sqrt(',))

	btn_pow = btns.create_button(text_button='^', x=250, y=205, width_button=1, cms=commands, params=('^',))

	btn_comma = btns.create_button(text_button=',', x=90, y=205, width_button=1, cms=commands, params=(',',))

	btn_fac = btns.create_button(text_button='!', x=210, y=240, width_button=1, cms=commands, params=('!',))
	#///////////////////////////////functions/////////////////////////////////////////////////////
	btn_log2 = btns.create_button(text_button='log2(x)', x=320, y=100, cms=commands, params=('log2(',))

	btn_log10 = btns.create_button(text_button='log10(x)', x=320, y=140, cms=commands, params=('log10(',))

	btn_ln = btns.create_button(text_button='ln(x)', x=320, y=180, cms=commands, params=('ln(',))

	btn_exp = btns.create_button(text_button='exp(x)', x=390, y=100, cms=commands, params=('exp(',))

	btn_sin = btns.create_button(text_button='sin(x)', x=390, y=140, cms=commands, params=('sin(',))

	btn_cos = btns.create_button(text_button='cos(x)', x=390, y=180, cms=commands, params=('cos(',))

	btn_tan = btns.create_button(text_button='tan(x)', x=390, y=220, cms=commands, params=('tan(',))
	#////////////////////////////////////////////////others////////////////////////////////////////////////////////////////////
	commands_calc = lambda : (f.calculate(input_.get_text(), output.set_text), btns.turn_on_buttons(btn_ans, btn_clr, btn_del))
	btn_calc = btns.create_button(text_button='Calculate', x=375, y=55, width_button=7, enabled=tk.DISABLED, cms=commands_calc)
	
	commands_del = lambda : input_.step_back() if len(input_.get_text()) > 1 else (input_.step_back(),  btns.turn_off_buttons(btn_del, btn_clr, btn_calc))
	btn_del = btns.create_button(text_button='Delete', x=375, y=5, width_button=7, enabled=tk.DISABLED, cms=commands_del)

	commands_clr = lambda : (input_.clear_input(), btns.turn_off_buttons(btn_del, btn_clr, btn_calc))
	btn_clr = btns.create_button(text_button='Clear', x=375, y=30, width_button=7, enabled=tk.DISABLED, cms=commands_clr)

	commands_ans = lambda : (input_.add_text(f.ans), btns.turn_on_buttons(btn_del)) 
	btn_ans = btns.create_button(text_button='Ans', x=130, y=205, width_button=1, enabled=tk.DISABLED, cms=commands_ans)
	#////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	input_command = lambda : btns.turn_on_buttons(btn_clr, btn_del, btn_calc)
	input_.bind_commands(input_command)

	main_commands = commands_calc
	main.bind_commands(main_commands, 'Return')

	signs = ['+', '-', '*', '/', '^', '(', ')', '!', ',', '.', 'e', 'x', 'p',
					'l', 'o', 'n', 'g', 's', 'q', 'r', 't', 'i', 'c', 'e', 'a']
	signs.extend([str(i) for i in range(10)])
	input_.set_legal_symbols(*signs)
	
	root.mainloop()
Exemple #2
0
from tkinter import *
from interface import Application

root = Tk()
root.title('projekcik')
root.geometry('420x490')
app = Application(root)
root.mainloop()
Exemple #3
0
from interface import Application
from database import DB
from generate.gen import Generator

# Criando aplicação
data = DB()
esc = Generator(data)
myapp = Application(data, esc)

# Iniciando programa
myapp.mainloop()
Exemple #4
0
#!/usr/bin/env python
# coding: UTF-8
#
## @package main
#  @author Wellington Oliveira
#  @since 23/02/2018

from interface import Application

if __name__ == "__main__":
    app = Application()
    app.mainloop()
    def tecnica_selecao_elitista(self, populacao_inicial: list):

        tela = Application()
        tela.start()

        tempo = 1

        populacao = []
        melhor_individuo = {}

        for i in populacao_inicial:
            individuo = self.vetor_para_objeto_populacao_variavel(i)
            self.atribuir_expectativa_vida(individuo)
            populacao.append(individuo)

        while tempo < self.num_max_geracoes and self.melhor_fitness < 63:

            # avaliacao
            # selecao
            # recombinacao

            tela.show_geracao(tempo)

            #seleção
            tela.show_estado("Seleção")
            populacao = self.selecao_elitista(populacao)

            #Gerando estatisticas
            tela.show_estado("Estatistica")

            self.melhor_fitness = 0
            pontuacao_melhor_individuo = 0
            vida_individuo_melhor_finess = 0

            for i in populacao:
                if self.melhor_fitness < i['fitness']:
                    self.melhor_fitness = i['fitness']
                    vida_individuo_melhor_finess = i['vida']
                    melhor_individuo = i
                    pontuacao_melhor_individuo = str(
                        i['somatorio']) + ' [' + ', '.join(
                            str(e) for e in i['calculo_somario']) + ']'

            tela.show_status(len(populacao), pontuacao_melhor_individuo,
                             self.melhor_fitness, vida_individuo_melhor_finess)

            #mutacao
            tela.show_estado("Mutação")
            populacao = self.mutacao(populacao)

            #reprodução
            tela.show_estado("Reprodução")
            novos_individuos = self.recombinacao_populacao_variavel(
                populacao, self.percentual_recombinacao)

            populacao = populacao + novos_individuos

            tempo = tempo + 1

        tela.show_estado("Finalizado")
        print("Fim")
        print("Relatório:")
        print('Individuo:', melhor_individuo)
        print('Geração atual: ', tempo)
        print('Tamanho população inicial: ', self.tamanho_inicial_populacao)
        print('Número máximo gerações: ', self.num_max_geracoes)
        print('Porcentagem de recombinação: ', self.percentual_recombinacao)
        print('Porcentagem de mutação: ', self.percentual_mutacao)
        print('Limite populacional: ', self.limite_populacional)
        print('Porcentagem de redução populacional: ',
              self.porcentagem_reducao_populacional)
Exemple #6
0
from interface import Application

if __name__ == "__main__":
    # Be careful, this was done by a person without logical sense.
    app = Application()
    app.run()
Exemple #7
0
 def create_tkinter(self):
     self.interface = Application(self, self.fields)
Exemple #8
0
from interface import Application
import tkinter as tk

if __name__ == '__main__':
    root = tk.Tk()

    app = Application(master=root)
    app.master.title("DnD Character Creator")
    # app.master.maxsize(1000, 400)
    app.mainloop()
    def tecnica_selecao_elitista(self, populacao_inicial:list):


        tela = Application()
        tela.start()

        tempo = 1

        populacao = populacao_inicial
        self.melhor_individuo = populacao[0]

        while tempo < self.num_max_geracoes and self.melhor_individuo.resultado != 0:

            #tela.show_geracao(tempo)

            #seleção
            #tela.show_estado("Seleção")
            populacao = self.selecao_elitista(populacao)


            #Gerando estatisticas
            #tela.show_estado("Estatistica")

            for i in populacao:
                if self.melhor_individuo.resultado > i.resultado:
                    self.melhor_individuo = copy.deepcopy(i)
                    print(self.melhor_individuo.altura(), self.altura_maxima)

                    tela.show_geracao(tempo)

                    tela.show_status(len(populacao),
                                     self.melhor_individuo.resultado,
                                     self.melhor_individuo.formula(),
                                     0
                                     )

            #mutacao
            #tela.show_estado("Mutação")
            populacao = self.mutacao(populacao)

            #reprodução
            #tela.show_estado("Reprodução")

            novos_individuos = self.recombinacao_populacao(populacao, self.percentual_recombinacao)

            populacao = populacao + novos_individuos


            tempo = tempo + 1



        tela.show_estado("Finalizado")
        print("Fim")
        print("Relatório:")
        print('Individuo:', str(self.melhor_individuo.resultado)+ ' - ('+self.melhor_individuo.formula()+')')
        print('Geração atual: ', tempo)
        print('Tamanho população inicial: ', self.tamanho_inicial_populacao)
        print('Número máximo gerações: ', self.num_max_geracoes)
        print('Porcentagem de recombinação: ', self.percentual_recombinacao)
        # print('Porcentagem de mutação: ', self.percentual_mutacao)
        #print('Limite populacional: ', self.limite_populacional)
        print('Porcentagem de redução populacional: ', self.porcentagem_reducao_populacional)