Respostas no Fórum
- AutorPosts
- 1 de fevereiro de 2021 às 18:37 em resposta a: ‘CssProvider’ object has no attribute ‘load_from_patch’ #27564
Anexo aqui o Fonte do pgm
import gi
from Calculadora import Calculadoragi.require_version(‘Gtk’, ‘3.0’)
from gi.repository import Gtk, Gdk# estanciar o construtor de objetos GKT e carregar arquivo q contem os objetos #
builder = Gtk.Builder()
builder.add_from_file(“gui_calculadora.glade”)class Handler(object):
def __init__(self):
self.usar_estilo()
self.display = builder.get_object(‘display’)
self.display.set_text(“0”)
self.primeiro_numero = None
self.operacao = None
self.calc = Calculadora()
self.limpar_display = Nonedef usar_estilo(self):
css_provider = Gtk.CssProvider()
css_provider.load_from_patch(‘static/estilo_calculadora.css’)
screen = Gdk.Screen()
style_context = Gtk.stylecontext()
style_context.add_provider_for_screen(screen.get_defaut(),
css_provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)def on_main_window_destroy(self, window):
Gtk.main_quit()def on_botao_clicked(self, botao):
if self.limpar_display:
self.display.set_text(“0”)
self.limpar_display = Falseif self.display.get_text() == “0”:
self.display.set_text(str(botao.get_label()))
else:
self.display.set_text(str(self.display.get_text() + botao.get_label()))def on_botao_ponto_clicked(self, botao):
self.display.set_text(str(self.display.get_text() + botao.get_label()))def on_botao_reset_clicked(self, botao):
self.display.set_text(str(0))def on_botao_soma_clicked(self, botao):
self.operacao = “soma”
self.primeiro_numero = self.ler_display()
self.limpar_display = Truedef on_botao_subtracao_clicked(self, botao):
self.operacao = “subtracao”
self.primeiro_numero = self.ler_display()
self.limpar_display = Truedef on_botao_multiplicacao_clicked(self, botao):
self.operacao = “multiplicacao”
self.primeiro_numero = self.ler_display()
self.limpar_display = Truedef on_botao_divisao_clicked(self, botao):
self.operacao = “divisao”
self.primeiro_numero = self.ler_display()
self.limpar_display = Truedef on_botao_raiz_quadrada_clicked(self, botao):
primeiro_numero = self.ler_display()
resultado = self.calc.funcoes[“raiz_quadrada”](primeiro_numero)
self.display.set_text(str(resultado))def on_botao_porcentagem_clicked(self, botao):
self.operacao = “porcentagem”
self.primeiro_numero = self.ler_display()
self.limpar_display = Truedef ler_display(self):
string = self.display.get_text()try:
numero = int(string)
except:
numero = float(string)return numero
def on_botao_igual_clicked(self, botao):
segundo_numero = self.ler_display()resultado = self.calc.funcoes[self.operacao](self.primeiro_numero, segundo_numero)
self.display.set_text(str(resultado))
self.limpar_display = Truebuilder.connect_signals(Handler())
window = builder.get_object(‘main_window’)
window.show_all()
Gtk.main()4 de dezembro de 2020 às 20:08 em resposta a: Configurar Spyter. Estou sem aba de explorados de variáveis. #22569Fui ao Tools, Preferences e cliquei no botão Reset to deauts … e tudo voltou ao normal.
- AutorPosts