columnspan - об'єднання стовпчиків
rowspan - об'єднання рядочків
#створити інтерфейс для програми калькулятор за зразком з наступними об'єктами:
Поле для введення цифр (Entry)
Кнопки для цифр (Button)
Кнопки додати, відняти, помножити, поділити, дорівнює (Button)
Перемикачі світлої і темної теми (Radiobutton)
Прапорець для позначення римських цифр (Chackbutton)
# Зміна цифр прапорцем
rum = IntVar()
c1 = Checkbutton(text="Римські цифри", onvalue = 1, offvalue = 0, command = numbers, variable = rum)
c1.grid(row=6, column=0)
# Зміна фону перемикачами
fon = IntVar()
r1 = Radiobutton(text="Темно", value=1, variable = fon, command = fon_dark)
r1.grid(row=6, column=1)
r2 = Radiobutton(text="Світло", value=2, variable = fon, command = fon_light)
r2.grid(row=6, column=2)
# Функції для прапорців і перемикачів
def fon_dark():
root['bg'] = 'Black'
c1['bg'] = 'Black'
r1['bg'] = 'Black'
r2['bg'] = 'Black'
def fon_light():
root['bg'] = 'white'
c1['bg'] = 'white'
r1['bg'] = 'white'
r2['bg'] = 'white'
def numbers():
if rum.get() == 1:
btn_1['text'] = 'I'
else:
btn_1['text'] = '1'
#Написати для програми калькулятор наступні функції:
Виведення цифр у полі Entry
Запам'ятовування операції додавання віднімання множення ділення
Виведення результату операцій в полі Entry
#Перелік змінних
n1 = '' #перше число
n2 = '' #друге число
rez = 0 #результат
key = True #перемикач між числами
name_operation = '' #назва операції
#функція для запам'ятовування числа
def number(value):
if key:
global n1
n1 += value
Enter_1.delete(0, END)
Enter_1.insert(0, n1)
else:
global n2
n2 += value
Enter_1.delete(0, END)
Enter_1.insert(0, n2)
#функція для запам'ятовування операції
def operation(x):
global name_operation, key
key = False
name_operation = x
#функція для обчислення
def equal():
global n1, n2, key
if name_operation == '+':
rez = int(n1) + int(n2)
Enter_1.delete(0, END)
Enter_1.insert(0, str(rez))
key = True
n1 = ''
n2 = ''
#Команди для кнопок цифр
btn_1 = Button(text="1", width = 15, height = 5, command = lambda : number('1'))
btn_1.grid(row=1, column=0)
#Команди для кнопок дій
btn_plus = Button(text="+", width = 15, height = 5, command = lambda : operation('+'))
btn_plus.grid(row=4, column=1)
#Команди для кнопки дорівнює
btn_equ = Button(text="=", width = 15, height = 5, command = equal)
btn_equ.grid(row=5, column=2)