Python kivy выдаёт ошибку
Код:
def func(): # должно выводить случайный цвет для каждой кнопки
x=background_color=([randint(0,3),randint(0,3),randint(0,3),1])
return x
class MyApp(App): #калькулятор на kivy
def build(self):
bl=GridLayout(rows=5, size_hint=(1, .5), pos=(0,00))
bl.add_widget(Button(
text='1', func()))
bl.add_widget(Button(
text='2', func()))
bl.add_widget(Button(
text='3', func()))
bl.add_widget(Button(
text='*', func()))
bl.add_widget(Button(
text='4', func()))
bl.add_widget(Button(
text='5', func()))
bl.add_widget(Button(
text='6', func()))
bl.add_widget(Button(
text='/', func()))
bl.add_widget(Button(
text='7', func()))
bl.add_widget(Button(
text='8', func()))
bl.add_widget(Button(
text='9', func()))
bl.add_widget(Button(
text='+', func()))
bl.add_widget(Button(
text='.', func()))
bl.add_widget(Button(
text='0', func()))
bl.add_widget(Button(
text='=', func()))
bl.add_widget(Button(
text='-', func()))
return bl
if __name__=="__main__":
MyApp().run()
Ошибка:
text='1', func()))з
^
SyntaxError: invalid syntax
Ответы (1 шт):
Автор решения: дэнчик
→ Ссылка
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.gridlayout import GridLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.widget import Widget
from kivy.config import Config
from kivy.uix.label import Label
import random
Config.set('graphics','resizable','0')
Config.set('graphics','width','400')
Config.set('graphics','height','450')
class Calculator(App):
def calculat_e(self,instance):
self.lbl.text = str(eval(self.lbl.text))
self.formula = ''
def add_number(self,instance):
if self.formula == '0' :
self.formula = ''
if self.formula == '+':
self.formula = ''
if self.formula == '-':
self.formula = ''
if self.formula == '*':
self.formula = ''
if self.formula == '.':
self.formula = ''
def clear_(self,instance):
self.lbl.text = '0'
self.formula = ''
def build(self):
self.formula = "0"
bl = BoxLayout(orientation='vertical')
gl = GridLayout(cols=4,spacing=3,padding=[10])
self.lbl = (Label(text='0',font_size= 50,size_hint=[1,.35],text_size=(400-20,450 * .35 -20 ),halign='right',valign='center'))
bl.add_widget(self.lbl)
gl.add_widget(Button(text='7',on_press= self.add_number))
gl.add_widget(Button(text='8',on_press= self.add_number))
gl.add_widget(Button(text='9',on_press= self.add_number))
gl.add_widget(Button(text='*',background_color=[random.randint(0,3),random.randint(0,3),random.randint(0,3),1],on_press= self.add_number))
gl.add_widget(Button(text='4',on_press= self.add_number))
gl.add_widget(Button(text='5',on_press= self.add_number))
gl.add_widget(Button(text='6',on_press= self.add_number))
gl.add_widget(Button(text='-',background_color=[random.randint(0,3),random.randint(0,3),random.randint(0,3),1],on_press= self.add_number))
gl.add_widget(Button(text='1',on_press= self.add_number))
gl.add_widget(Button(text='2',on_press= self.add_number))
gl.add_widget(Button(text='3',on_press= self.add_number))
gl.add_widget(Button(text='+',background_color=[random.randint(0,3),random.randint(0,3),random.randint(0,3),1],on_press= self.add_number))
gl.add_widget(Button(text='C',on_press=self.clear_,background_color=[0,1,1,1]))
gl.add_widget(Button(text='0',on_press= self.add_number))
gl.add_widget(Button(text='.',on_press= self.add_number))
gl.add_widget(Button(text='=',background_color=[random.randint(0,3),random.randint(0,3),random.randint(0,3),1],on_press = self.calculat_e))
bl.add_widget(gl)
return bl
Calculator().run()