Как сделать кнопку, которая выводит целое число в текстовом виджете - PullRequest
0 голосов
/ 01 февраля 2019

Я понятия не имею, как сделать кнопки для вывода целого числа.

Это кассовая система, каждый раз, когда пользователь нажимает на эту кнопку, цена должна автоматически суммироваться в общем, иавтоматически минус и показывает изменение.

from tkinter import * 
from tkinter.font import Font

class MainUI:
    def __init__(self,master):

        #MAIN WINDOW
        self.mainFrame = Frame(master, width=800, height=600, 
        bg="skyblue")
        master.title("FCPC CASH REGISTER")
        self.mainFrame.pack()
        self.title = Label(self.mainFrame, text="FIRST CITY PROVIDENTIAL" 
        " COLLEGE", bg="blue")
        self.font = Font(family="Helvetica", size=29)
        self.title.configure(font=self.font)
        self.title.place(x=50, y=50)

        #BUTTONS
        self.snacksButton = Button(self.mainFrame, text="SNACKS", 
        command=self.snackList, width=10, bg="blue")
        self.font = Font(family="Helvetica", size=20)
        self.snacksButton.configure(font=self.font)
        self.snacksButton.place(x=100,y=150,)


        #TOTAL
        self.total = Label(self.mainFrame,text="TOTAL:", 
        bg="blue",width=8)
        self.total.place(x=370,y=160)
        self.font = Font(family="Helvetica", size=25)
        self.total.configure(font=self.font)

        #CHANGE
        self.change = Label(self.mainFrame,text="CHANGE:", bg="blue")
        self.change.place(x=370,y=240)
        self.font = Font(family="Helvetica", size=25)
        self.change.configure(font=self.font)




    def snackList(self):
        self.frame = Toplevel(width=800,height=600,bg="skyblue")
        self.frame.title("SNACKS")

        self.novaButton = Button(self.frame, text="NOVA(12php)", 
        command=self.calculate ,width=15, bg="blue")
        self.font = Font(family="Helvetica", size=15)
        self.novaButton.configure(font=self.font)
        self.novaButton.place(x=100,y=150)



root = Tk()
ui = MainUI(root)
root.mainloop()

Я хочу, чтобы кнопка выводила цену и автоматически вычисляла общую сумму.

1 Ответ

0 голосов
/ 01 февраля 2019

Я собрал простой пример, чтобы проиллюстрировать, что вам может понадобиться.Свяжите каждую кнопку с функцией, которая добавляет цену закуски к общей сумме и изменяет то, что отображается.Один из способов сделать это - с помощью параметра textvariable виджета tkinter Label.

Пример:

import tkinter as tk


def calculate(price):
    global total, var
    total += price
    text = 'Total = ' + str(total)
    var.set(text)


root = tk.Tk()

total = 0
var = tk.StringVar()

button1 = tk.Button(root, text='Snickers 1$', command=lambda: calculate(price=1)).pack()
button2 = tk.Button(root, text='Mars 2$', command=lambda: calculate(price=2)).pack()
totalLabel = tk.Label(root, textvariable=var).pack()

root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...