Ir ao conteúdo

Posts recomendados

Postado
import sqlite3
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.core.window import Window
from kivy.properties import StringProperty, NumericProperty

Window.size = (400, 600)


def criar_tabela():
    conn = sqlite3.connect('teste_medidores.db')
    cursor = conn.cursor()

    cursor.execute('''CREATE TABLE IF NOT EXISTS resultados_teste (
                        id INTEGER PRIMARY KEY AUTOINCREMENT,
                        equipe TEXT NOT NULL,
                        uc INTEGER NOT NULL,
                        resultado_final REAL NOT NULL
                    )''')

    conn.commit()
    conn.close()


criar_tabela()


def inserir_dados(equipe, uc, resultado_final):
    conn = sqlite3.connect('teste_medidores.db')
    cursor = conn.cursor()

    cursor.execute('''INSERT INTO resultados_teste (equipe, uc, resultado_final)
                      VALUES (?, ?, ?)''', (equipe, uc, resultado_final))

    conn.commit()
    conn.close()


class GerenciadorTelas(ScreenManager):
    equipe = StringProperty()
    uc = NumericProperty()

class PrimeiraTela(Screen):

    def login(self):
        equipe = self.ids.input_equipe.text
        uc = self.ids.input_uc.text

        if equipe and uc.isdigit():
            print(f"Equipe: {equipe}, UC: {uc}") 
            self.manager.equipe = equipe
            self.manager.uc = int(uc)
            self.manager.current = "segundatela"

        else:
            self.ids.error_label.text = "Erro: Insira dados válidos"

    def trocar_para_segunda_tela(self):
        self.current = 'segundatela'
        equipe = self.equipe
        uc = self.uc
        print(f"Equipe: {self.manager.equipe}, UC: {self.manager.uc}")

    def trocar_para_terceira_tela(self):
        self.manager.current = 'terceiratela'
    def trocar_para_quarta_tela(self):
        self.manager.current = 'quartatela'


class SegundaTela(Screen):
    result = StringProperty("")
    corrente = StringProperty()
    uc = NumericProperty()
    equipe = StringProperty()

    def calculate(self):
        try:
            input_value = float(self.ids.input_field.text)
            self.corrente = str(input_value * 0.22)
            self.ids.result_input.text = f"Corrente: {self.corrente}"
            self.result = self.corrente
        except ValueError:
            self.result = "Erro: Insira um número válido"

    def ir_para_proxima_tela(self):
        self.manager.current = 'CalculoMono'
        proxima_tela = self.manager.get_screen('CalculoMono')
        proxima_tela.corrente = float(self.corrente)
        proxima_tela.uc = self.manager.uc
        proxima_tela.equipe = self.manager.equipe


        print(f"Equipe: {self.manager.equipe}, UC: {self.manager.uc}")


class CalculoMono(Screen):
    result = StringProperty("")
    segundo = NumericProperty(0)
    corrente = NumericProperty(0)
    uc = NumericProperty()
    equipe= StringProperty()

    def calculate(self):
        try:
            input_value1 = float(self.ids.input_field1.text)
            input_value2 = float(self.ids.input_field2.text)
            input_value3 = float(self.ids.input_field3.text)
            self.segundo = (3.6 * input_value1 * input_value2) / input_value3
            self.ids.result_input.text = f"SEGUNDO: {self.segundo}"
        except ValueError:
            self.result = "Erro: Insira um número válido"

    def ir_para_proxima_tela(self):
        self.manager.current = 'calculomonofinal'
        proxima_tela = self.manager.get_screen('calculomonofinal')
        proxima_tela.segundo = self.segundo
        proxima_tela.corrente = self.corrente
        proxima_tela.uc = self.manager.uc
        proxima_tela.equipe = self.manager.equipe
        print(f"Equipe: {self.manager.equipe}, UC: {self.manager.uc}")


class CalculoMonoFinal(Screen):
    result = StringProperty("")
    segundo = NumericProperty(0)
    corrente = NumericProperty(0)
    uc = NumericProperty()
    equipe= StringProperty()

    def calculate(self):
        try:

            equipe = self.manager.equipe
            uc = self.manager.uc

            input_value1 = self.segundo
            input_value2 = self.corrente

            if input_value2 == 0:
                self.result = "Erro: Divisão por zero"
                return

            resultado_final = (input_value1 - input_value2) * 100 / input_value2
            print(f"Equipe: {self.manager.equipe}, UC: {self.manager.uc}")

            if resultado_final <= -5:
                self.result = f"MEDIDOR REPROVADO \nResultado Final: {resultado_final:.2f}%"
            else:
                self.result = f"Resultado Final: {resultado_final:.2f}%"

                equipe = self.manager.equipe
                uc = self.manager.uc
                inserir_dados(equipe, uc, resultado_final)



        except ValueError:
            self.result = "Erro: Insira valores válidos"


class TerceiraTela(Screen):
    result = StringProperty("")
    corrente = StringProperty()

    def calculate(self):
        try:
            input_value1 = float(self.ids.input_field1.text)
            input_value2 = float(self.ids.input_field2.text)
            self.corrente = str((input_value1 + input_value2) * 0.22)
            self.ids.result_input.text = f"Corrente: {self.corrente}"
            self.result = self.corrente
        except ValueError:
            self.result = "Erro: Insira números válidos"

    def ir_para_proxima_tela(self):
        self.manager.current = 'CalculoBi'
        proxima_tela = self.manager.get_screen('CalculoBi')
        proxima_tela.corrente = float(self.corrente)


class CalculoBi(Screen):
    result = StringProperty("")
    segundo = NumericProperty(0)
    corrente = NumericProperty(0)

    def calculate(self):
        try:
            input_value1 = float(self.ids.input_field1.text)
            input_value2 = float(self.ids.input_field2.text)
            input_value3 = float(self.ids.input_field3.text)
            self.segundo = (3.6 * input_value1 * input_value2) / input_value3
            self.ids.result_input.text = f"SEGUNDO: {self.segundo}"
        except ValueError:
            self.result = "Erro: Insira um número válido"

    def ir_para_proxima_tela(self):
        self.manager.current = 'calculobifinal'
        proxima_tela = self.manager.get_screen('calculobifinal')
        proxima_tela.segundo = self.segundo
        proxima_tela.corrente = self.corrente


class CalculoBiFinal(Screen):
    result = StringProperty("")
    segundo = NumericProperty(0)
    corrente = NumericProperty(0)

    def calculate(self):
        try:
            input_value1 = self.segundo
            input_value2 = self.corrente

            if input_value2 == 0:
                self.result = "Erro: Divisão por zero"
            else:
                resultado_final = (input_value1 - input_value2) * 100 / input_value2
                if resultado_final <= -5:
                    self.result = f"MEDIDOR REPROVADO \nResultado Final: {resultado_final:.2f}%"
                else:
                    self.result = f"Resultado Final: {resultado_final:.2f}%"

                    # Inserir dados no banco de dados
                    equipe = self.manager.equipe
                    uc = self.manager.uc
                    inserir_dados(equipe, uc, resultado_final)

        except ValueError:
            self.result = "Erro: Insira valores válidos"


class QuartaTela(Screen):
    result = StringProperty("")
    corrente = StringProperty()

    def calculate(self):
        try:
            input_value1 = float(self.ids.input_field1.text)
            input_value2 = float(self.ids.input_field2.text)
            input_value3 = float(self.ids.input_field3.text)
            self.corrente = str((input_value1 + input_value2 + input_value3) * 0.22)
            self.ids.result_input.text = f"Corrente: {self.corrente}"
            self.result = self.corrente
        except ValueError:
            self.result = "Erro: Insira números válidos"

    def ir_para_proxima_tela(self):
        self.manager.current = 'CalculoTri'
        proxima_tela = self.manager.get_screen('CalculoTri')
        proxima_tela.corrente = float(self.corrente)


class CalculoTri(Screen):
    result = StringProperty("")
    corrente = NumericProperty()
    segundo = NumericProperty()

    def calculate(self):
        try:
            input_value1 = float(self.ids.input_field1.text)
            input_value2 = float(self.ids.input_field2.text)
            input_value3 = float(self.ids.input_field3.text)
            self.segundo = (3.6 * input_value1 * input_value2) / input_value3
            self.ids.result_input.text = f"SEGUNDO: {self.segundo}"
        except ValueError:
            self.result = "Erro: Insira números válidos"

    def ir_para_proxima_tela(self):
        self.manager.current = 'calculotrifinal'
        proxima_tela = self.manager.get_screen('calculotrifinal')
        proxima_tela.segundo = self.segundo
        proxima_tela.corrente = self.corrente


class CalculoTriFinal(Screen):
    result = StringProperty("")
    segundo = NumericProperty()
    corrente = NumericProperty()

    def calculate(self):
        try:
            input_value1 = self.segundo
            input_value2 = self.corrente

            if input_value2 == 0:
                self.result = "Erro: Divisão por zero"
                return

            resultado_final = (input_value1 - input_value2) * 100 / input_value2

            if resultado_final <= -7:
                self.result = f"MEDIDOR REPROVADO \nResultado Final: {resultado_final:.2f}%"
            else:
                self.result = f"Resultado Final: {resultado_final:.2f}%"

                equipe = self.manager.equipe
                uc = self.manager.uc
                inserir_dados(equipe, uc, resultado_final)

        except ValueError:
            self.result = "Erro: Insira valores válidos"




class MyApp(App):
    def build(self):
        Builder.load_file('tela.kv')
        sm = GerenciadorTelas()
        sm.add_widget(PrimeiraTela(name='primeiratela'))
        sm.add_widget(SegundaTela(name='segundatela'))
        sm.add_widget(CalculoMono(name='CalculoMono'))
        sm.add_widget(CalculoMonoFinal(name='calculomonofinal'))
        sm.add_widget(TerceiraTela(name='terceiratela'))
        sm.add_widget(CalculoBi(name='CalculoBi'))
        sm.add_widget(CalculoBiFinal(name='calculobifinal'))
        sm.add_widget(QuartaTela(name='quartatela'))
        sm.add_widget(CalculoTri(name='CalculoTri'))
        sm.add_widget(CalculoTriFinal(name='calculotrifinal'))


        return sm


if __name__ == '__main__':
    MyApp().run()

Estou entrando em parafuso sem encontrar o erro que está impedindo do valor inserido pelo o usuário da equipe e da uc não estarem indo para o banco de dados, está sendo preenchido somente com o resultado final. Se alguém poder, por favor, me dar um luz.

Este é o código kivy: 

 

<GerenciadorTelas>:
    PrimeiraTela:
    SegundaTela:
    TerceiraTela:
    CalculoBi:
    QuartaTela:
    CalculoMono:
    CalculoTri:
    CalculoMonoFinal:
    CalculoBiFinal:
    CalculoTriFinal:


<PrimeiraTela>:
    name: "primeiratela"
    BoxLayout:
        orientation: 'vertical'
        padding: 50
        spacing: 50

        canvas.before:
            Color:
                rgba: 3/255, 3/255, 101/255, 1
            Rectangle:
                source: "DATA/img_5.png"
                pos: self.pos
                size: self.size

        BoxLayout:
            orientation: 'vertical'
            spacing: 15
            size_hint_y: None
            height: 200  # Ajuste a altura conforme necessário
            pos_hint: {'center_x': 0.5}

            Image:
                source: "DATA/img_7.png"
                size_hint_y: None
                height: 200  # Defina a altura da imagem

            TextInput:
                id: input_equipe
                hint_text: "EQUIPE"
                multiline: False
                size_hint: (1, None)
                height: 40

            TextInput:
                id: input_uc
                hint_text: "UC"
                multiline: False
                size_hint: (1, None)
                height: 40

            Button:
                text: "Monofásico"
                size_hint: (None, None)
                size: (200, 50)  # Ajuste esse tamanho para garantir a forma desejada
                font_size: 18
                on_press: root.trocar_para_segunda_tela()
                background_normal: ''  # Remove a imagem de fundo padrão
                background_color: (0, 0, 0, 1)  # Cor de fundo do botão
                color: (1, 1, 1, 1)  # Cor do texto do botão
                pos_hint: {'center_x': 0.5}
                radius: [1]  # Definindo o arredondamento. O valor depende do tamanho do botão

            Button:
                text: "Bífasico"
                size_hint: (None, None)
                size: (200, 50)
                font_size: 18
                on_press: root.trocar_para_terceira_tela()
                background_color: (0, 0, 0, 1)  # Cor de fundo do botão
                color: (1, 1, 1, 1)  # Cor do texto do botão
                pos_hint: {'center_x': 0.5}

            Button:
                text: "Trifásico"
                size_hint: (None, None)
                size: (200, 50)
                font_size: 18
                on_press: root.trocar_para_quarta_tela()
                background_color: (0, 0, 0, 1)  # Cor de fundo do botão
                color: (1, 1, 1, 1)  # Cor do texto do botão
                pos_hint: {'center_x': 0.5}

<SegundaTela>:
    name: "segundatela"
    BoxLayout:
        orientation: 'vertical'
        padding: 20
        spacing: 20

        canvas.before:
            Color:
                rgba: 3/255, 3/255, 101/255, 1
            Rectangle:
                source: "DATA/img_5.png"
                pos: self.pos
                size: self.size

        Label:
            text: "Monofásico"
            color: (0, 0, 0, 1)
            bold: True
            font_size: 30
            size_hint_y: None
            height: 50
            halign: 'center'
            valign: 'middle'
            text_size: self.size

        BoxLayout:
            orientation: 'vertical'
            spacing: 20
            padding: [10, 10, 10, 10]


            TextInput:
                id: input_field
                hint_text: "Insira o valor da corrente"
                multiline: False
                size_hint: (1, None)
                height: 40

            Button:
                text: "Calcular"
                size_hint: (1, None)
                height: 50
                font_size: 18
                on_press: root.calculate()  # Função de cálculo no seu código Python

            Label:
                id: result_input
                text: "Resultado: " + root.result  # Vínculo com a propriedade result
                color: (1, 1, 1, 1)
                font_size: 30
                halign: 'left'
                valign: 'middle'
                text_size: self.size

        Button:
            text: "Próximo"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.ir_para_proxima_tela()
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

        Button:
            text: "Voltar"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.manager.current = 'primeiratela'
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

<CalculoMono>:
    name: "CalculoMono"
    BoxLayout:
        orientation: 'vertical'
        padding: 20
        spacing: 20

        canvas.before:
            Color:
                rgba: 1, 1, 1, 1  # Cor de fundo branca
            Rectangle:
                pos: self.pos
                size: self.size

        Label:
            text: "Monofásico"
            color: (0, 0, 0, 1)
            bold: True
            font_size: 30
            size_hint_y: None
            height: 50
            halign: 'center'
            valign: 'middle'
            text_size: self.size

        BoxLayout:
            orientation: 'vertical'
            spacing: 20
            padding: [10, 10, 10, 10]


            TextInput:
                id: input_field1
                hint_text: "Insira o valor do KD:"
                multiline: False
                size_hint: (1, None)
                height: 40

            TextInput:
                id: input_field2
                hint_text: "Insira o número de voltas:"
                multiline: False
                size_hint: (1, None)
                height: 40

            TextInput:
                id: input_field3
                hint_text: "Insira o valor do tempo: "
                multiline: False
                size_hint: (1, None)
                height: 40

            Button:
                text: "Calcular"
                size_hint: (1, None)
                height: 50
                font_size: 18
                on_press: root.calculate()  # Função de cálculo no seu código Python



            Label:
                id:result_input
                text: "Resultado: " + root.result  # Vínculo com a propriedade result
                color: (0, 0, 0, 1)
                font_size: 20
                halign: 'left'
                valign: 'middle'
                text_size: self.size

        Button:
            text: "Próximo"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.ir_para_proxima_tela()
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (0, 0, 0, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

        Button:
            text: "Voltar"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.manager.current = 'primeiratela'
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

<CalculoMonoFinal>:
    name: "calculomonofinal"
    BoxLayout:
        orientation: 'vertical'
        padding: 10
        spacing: 10

        canvas.before:
            Color:
                rgba: 1, 1, 1, 1  # Cor de fundo branca
            Rectangle:
                pos: self.pos
                size: self.size

        Button:
            text: "Calcular"
            on_press: root.calculate()
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

        Label:
            id: result_label
            text: root.result
            color: (0,0, 0, 1)
            font_size: 20
            halign: 'left'
            valign: 'middle'
            text_size: self.size


        Button:
            text: "Voltar"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.manager.current = 'CalculoMono'
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}


<TerceiraTela>:
    name: "terceiratela"
    BoxLayout:
        orientation: 'vertical'
        padding: 20
        spacing: 20

        canvas.before:
            Color:
                rgba: 1, 1, 1, 1  # Cor de fundo branca
            Rectangle:
                pos: self.pos
                size: self.size

        Label:
            text: "Bifásico"
            color: (0, 0, 0, 1)
            bold: True
            font_size: 30
            size_hint_y: None
            height: 50
            halign: 'center'
            valign: 'middle'
            text_size: self.size


        TextInput:
            id: input_field1
            hint_text: "Primeira Corrente"
            multiline: False


        TextInput:
            id: input_field2
            hint_text: "Segunda Corrente"
            multiline: False


        Button:
            text: "Calcular"
            size_hint: (1, None)
            height: 50
            font_size: 18
            on_press: root.calculate()  # Função de cálculo no seu código Python

        Label:
            id: result_input
            text: "Resultado: " + root.result  # Vínculo com a propriedade result
            color: (0, 0, 0, 1)


        Button:
            text: "Próximo"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.ir_para_proxima_tela()
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

        Button:
            text: "Voltar"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.manager.current = 'primeiratela'
            background_color: (0.8, 0.2, 0.2, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

<CalculoBi>:
    name: "CalculoBi"
    BoxLayout:
        orientation: 'vertical'
        padding: 20
        spacing: 20

        canvas.before:
            Color:
                rgba: 1, 1, 1, 1  # Cor de fundo branca
            Rectangle:
                pos: self.pos
                size: self.size

        Label:
            text: "Bífasico"
            color: (0, 0, 0, 1)
            bold: True
            font_size: 30
            size_hint_y: None
            height: 50
            halign: 'center'
            valign: 'middle'
            text_size: self.size

        BoxLayout:
            orientation: 'vertical'
            spacing: 20
            padding: [10, 10, 10, 10]

            TextInput:
                id: input_field1
                hint_text: "Insira o valor do KD:"
                multiline: False
                size_hint: (1, None)
                height: 40

            TextInput:
                id: input_field2
                hint_text: "Insira o número de voltas:"
                multiline: False
                size_hint: (1, None)
                height: 40

            TextInput:
                id: input_field3
                hint_text: "Insira o valor do tempo: "
                multiline: False
                size_hint: (1, None)
                height: 40

            Button:
                text: "Calcular"
                size_hint: (1, None)
                height: 50
                font_size: 18
                on_press: root.calculate()  # Função de cálculo no seu código Python

            Label:
                id:result_input
                text: "Resultado: " + root.result  # Vínculo com a propriedade result
                color: (0, 0, 0, 1)
                font_size: 20
                halign: 'left'
                valign: 'middle'
                text_size: self.size

        Button:
            text: "Próximo"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.ir_para_proxima_tela()
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

        Button:
            text: "Voltar"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.manager.current = 'primeiratela'
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

<CalculoBiFinal>:
    name: "calculobifinal"
    BoxLayout:
        orientation: 'vertical'
        padding: 10
        spacing: 10

        canvas.before:
            Color:
                rgba: 1, 1, 1, 1  # Cor de fundo branca
            Rectangle:
                pos: self.pos
                size: self.size

        Button:
            text: "Calcular"
            on_press: root.calculate()
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

        Label:
            id: result_input
            text: root.result
            color: (0,0, 0, 1)
            font_size: 20
            halign: 'left'
            valign: 'middle'
            text_size: self.size


        Button:
            text: "Voltar"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.manager.current = 'CalculoBi'
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}



<QuartaTela>:
    name: "quartatela"
    BoxLayout:
        orientation: 'vertical'
        padding: 20
        spacing: 20

        canvas.before:
            Color:
                rgba: 1, 1, 1, 1  # Cor de fundo branca
            Rectangle:
                pos: self.pos
                size: self.size

        Label:
            text: "Trifásico"
            color: (0, 0, 0, 1)
            bold: True
            font_size: 30
            size_hint_y: None
            height: 50
            halign: 'center'
            valign: 'middle'
            text_size: self.size

        BoxLayout:
            orientation: 'vertical'
            spacing: 10
            padding: [10, 10, 10, 10]

            TextInput:
                id: input_field1
                hint_text: "Primeira Corrente"
                color: (0, 0, 0, 0)
                multiline: False
                size_hint_y: None
                height: 40

            TextInput:
                id: input_field2
                hint_text: "Segunda Corrente"
                multiline: False
                size_hint_y: None
                height: 40

            TextInput:
                id: input_field3
                hint_text: "Terceira Corrente"
                multiline: False
                size_hint_y: None
                height: 40

        Button:
            text: "Calcular"
            size_hint: (1, None)
            height: 50
            font_size: 18
            on_press: root.calculate()  # Função de cálculo no seu código Python

        Label:
            id:result_input
            text: "Resultado: " + root.result  # Vínculo com a propriedade result
            color: (0, 0, 0, 1)
            font_size: 20
            halign: 'center'
            valign: 'middle'
            text_size: self.size

        Button:
            text: "Próximo"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.ir_para_proxima_tela()
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (0, 0, 0, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}


        Button:
            text: "Voltar"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.manager.current = 'primeiratela'
            background_color: (0.8, 0.2, 0.2, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

<CalculoTri>:
    name: "CalculoTri"
    BoxLayout:
        orientation: 'vertical'
        padding: 20
        spacing: 20

        canvas.before:
            Color:
                rgba: 1, 1, 1, 1  # Cor de fundo branca
            Rectangle:
                pos: self.pos
                size: self.size

        Label:
            text: "Trifásico"
            color: (0, 0, 0, 1)
            bold: True
            font_size: 30
            size_hint_y: None
            height: 50
            halign: 'center'
            valign: 'middle'
            text_size: self.size

        BoxLayout:
            orientation: 'vertical'
            spacing: 20
            padding: [10, 10, 10, 10]

            TextInput:
                id: input_field1
                hint_text: "Insira o valor do KD:"
                multiline: False
                size_hint: (1, None)
                height: 40

            TextInput:
                id: input_field2
                hint_text: "Insira o número de voltas:"
                multiline: False
                size_hint: (1, None)
                height: 40

            TextInput:
                id: input_field3
                hint_text: "Insira o valor do tempo: "
                multiline: False
                size_hint: (1, None)
                height: 40


            Button:
                text: "Calcular"
                size_hint: (1, None)
                height: 50
                font_size: 18
                on_press: root.calculate()  # Função de cálculo no seu código Python

            Label:
                id:result_input
                text: "Resultado: " + root.result  # Vínculo com a propriedade result
                color: (0, 0, 0, 1)
                font_size: 20
                halign: 'left'
                valign: 'middle'
                text_size: self.size

        Button:
            text: "Próximo"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.ir_para_proxima_tela()
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (0, 0, 0, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}


        Button:
            text: "Voltar"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.manager.current = 'primeiratela'
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

<CalculoTriFinal>:
    name: "calculotrifinal"
    BoxLayout:
        orientation: 'vertical'
        padding: 10
        spacing: 10

        canvas.before:
            Color:
                rgba: 1, 1, 1, 1  # Cor de fundo branca
            Rectangle:
                pos: self.pos
                size: self.size

        Button:
            text: "Calcular"
            on_press: root.calculate()
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

        Label:
            id: result_input
            text: root.result
            color: (0,0, 0, 1)
            font_size: 20
            halign: 'left'
            valign: 'middle'
            text_size: self.size
            pos_hint: {'center_x': 0.5}



        Button:
            text: "Voltar"
            size_hint: (None, None)
            size: (200, 50)
            font_size: 18
            on_press: root.manager.current = 'CalculoTri'
            background_color: (0.5, 0, 0, 1)  # Cor de fundo do botão
            color: (1, 1, 1, 1)  # Cor do texto do botão
            pos_hint: {'center_x': 0.5}

 

Postado

boa tarde, bem vindo ao clubedohardware.

Por favor, responda as seguintes perguntas, ninguém gosta de ler código inteiro dos outros para entender o que faz.

  1. o que o código deve fazer?
  2. em qual função/método ou parte você está com problema?
  3. qual erro que aparece na linha de comando?
  4. em que linha o erro ocorre?
  5. qual a saida/resultado esperado?

 


 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!