Отдельную ветку для новичков по гуи не нашел, поэтому пишу сюда, вроде не ошибся.
Вопрос следующий: недавно начал изучать гуи (да и питон, впрочем, тоже). Прочитал до определенного момента Доусона, решил закрепить знания, придумал сам себе задачку.
Суть задачи: Есть поля, куда мы вводим сумму, у нас имеющуюся, а так же что хотим купить и почем.
В общем, что то даже написал, но вот сумму затрат вывести как - не понимаю. Если не прописывать отдельно int() - он проводит, соответственно, конкатенацию чисел как строк. Если прописывать, выдает value ошибку.
from tkinter import *
class Finance(Frame):
def __init__(self, master):
super(Finance, self).__init__(master)
self.grid()
self.operation()
self.math()
def operation(self):
self.your_money_text = Label(self, text = 'Ваши средства').grid(row=0, column=0, sticky =W)
self.your_money = Entry(self)
self.your_money.grid(row=0, column=1, columnspan=2, sticky=W)
self.your_expenses2_text = Label(self, text = 'Ваши потенциальные траты').grid(row = 2, column =0, sticky =W)
self.your_expenses2 = Entry(self)
self.your_expenses2.grid(row =2, column=1, sticky=W)
self.your_buy_text = Label(self, text='Ваша покупка?').grid(row=2, column=2, sticky=W)
self.your_buy = Entry(self).grid(row=2, column=3)
self.your_expenses_text = Label(self, text='Ваши потенциальные траты')
self.your_expenses.grid(row=4, column=0, sticky=W)
self.your_expenses = Entry(self).grid(row=4, column = 1)
self.your_buy_text = Label(self, text='Ваша покупка?').grid(row=4, column=2, sticky=W)
self.your_buy = Entry(self).grid(row=4, column=3, sticky =W)
self.result = Text(self, width=5, height=5, wrap=WORD)
self.result.grid(row=7, column=0, sticky=W)
self.but = Button(root, text='click me', command=self.math).grid(row=6, columnspan=4, sticky=W)
def math(self):
a = self.your_money.get()
b = self.your_expenses2.get()
c = int(a) + int(b)
self.result.delete(0.0, END)
self.result.insert(0.0, c)
root = Tk()
root.title('Программа1')
root.geometry('500x500')
manager = Finance(root)
root.mainloop()
Спасибо!
ПС Я так понимаю, это можно было сделать проще, не прибегая к классам, но раз уж начал учить по учебнику, а так юзаются классы - то и я решил делать так же.