Професионална програма
Loading...
+ Нов въпрос
mihaileg avatar mihaileg 0 Точки

Графично приложение Суматор за числа - Programming Basics with Python

Здравейте!  Решавам задачите от книгата на Наков и се затрудних на примера за суматора за числа от първа глава, а именно не ми се визуализират number entry-тата както и знаците. 

https://ibb.co/cTfKKcS

Знам че целата на задачата е просто да ни "запали" по програмирането и да ни покаже какво бихме могли да правим, но въпреки това ми е любопитно защо се получава така. В линка е кода, който съм написал.

https://pastebin.com/avT3F1F8  

Тагове:
0
YanaStamenova avatar YanaStamenova 19 Точки

Аз се присъединявам към въпроса. На мен също ми излезе един празен прозорец.

0
ReyBloodrose avatar ReyBloodrose 0 Точки

При мен всичко си излезе нормално, като изключим, че програмата не извършва никакви изчисления при натискане на бутона "Calculate". //Полето за резултат си остава с надписа "Result..."

Качвам кода, дано ви свърши работа!
П.с: ако откриете грешката ми, ще се радвам да ме известите!
 

import tkinter as tk


class Application(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)

        self.pack()
        self.create_widgets()

    def create_widgets(self):
        # create widgets
        self.firstNumberEntry = tk.Entry()
        self.plusSign = tk.Label(text="+")
        self.secondNumberEntry = tk.Entry()
        self.equalSign = tk.Label(text="=")
        self.resultLabel = tk.Label(text="Result...", bg="green", fg="white")
        self.calculateButton = tk.Button(text="Calculate")

        # place widgets
        self.firstNumberEntry.pack(side="left")
        self.plusSign.pack(side="left")
        self.secondNumberEntry.pack(side="left")
        self.equalSign.pack(side="left")
        self.resultLabel.pack(side="left")
        self.calculateButton.pack(side="left")

    def calculate(self):
        first_value = float(self.firstNumberEntry.get())
        second_value = float(self.secondNumberEntry.get())
        result = first_value + second_value
        self.resultLabel.config(text=str(result), bg="green", fg="white")

    # create the application


app = Application()
app.master.title("Sumator")
app.master.minsize(width=100, height=50)

# start the program
app.mainloop()
0
MiroslavK17 avatar MiroslavK17 1 Точки

Здравейте, оправих програмката ! :) Проблема е, че calculateButton не правеше нищо, тоест не беше свързан с def calculate. Ето линк към оправената програма: https://pastebin.com/BcTbwyw0

1
Z.Bakov avatar Z.Bakov 0 Точки

Здравейте, след доста опити ето така се справих аз. :)

import tkinter as tk

class Application(tk.Frame) :
    def __init__(self, master=None):
        super().__init__(master)

        self.pack()
        self.create_widgets()

    def create_widgets(self):
        #create widgets
        self.firstNumberEntry = tk.Entry()
        self.plusSign = tk.Label(text="+")
        self.secondNumberEntry = tk.Entry()
        self.equalSign = tk.Label(text="=")
        self.resultLabel = tk.Label(text="Result...", bg="green", fg="white")
        self.calculateButton = tk.Button(text="Calculate", command=self.calculate)

        # place widgets
        self.firstNumberEntry.pack(side="left")
        self.plusSign.pack(side="left")
        self.secondNumberEntry.pack(side="left")
        self.equalSign.pack(side="left")
        self.resultLabel.pack(side="left")
        self.calculateButton.pack(side="left")

    def calculate(self):
        try:
            first_value = float(self.firstNumberEntry.get())
            second_value = float(self.secondNumberEntry.get())
            result = first_value + second_value
            self.resultLabel.config(text=str(result), bg="green", fg="white")
        except ValueError:
            self.resultLabel.config(text="Not number/s.", bg="red", fg="black")

# create the application
app = Application()
app.master.title("Sumator")
app.master.minsize(width=100, height=50)

# start the program
app.mainloop()
0
14/12/2019 21:28:14
dZf1aeA-patsm00re18 avatar dZf1aeA-patsm00re18 1 Точки

I am not sure whether or not this post is written by the means of that company as no one else understand such precise about my problem. You're wonderful! Thanks! Play prodigy math game Play to Improve Arithmetic Skills!

0