Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

HristovJ avatar HristovJ 2 Точки

Бял екран когато стартирам приложението Суматор на числа от основи на програмирането с Python

Здравейте, написах кода от книгата, но когато стратирам приложението няма никакви бутони или полета, само бял бекграунд. Това е кодът ми:

import tkinter as tk


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

        self.pack()


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

# start the program
app.mainloop()


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="blue", 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")


А това е резултатът:

Някой има ли идеи къде е проблемът?

Тагове:
0
Programming Basics
nddimitrov avatar nddimitrov 1 Точки

конструктор __init__ и метод create_widget трябва да са дефинирани в class Application. 

Ако последователно копирате от  книгата не се получава работеща програма.

 

кода трябва да изглежда така: 

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="blue", 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")


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

# start the program
app.mainloop()

 

 

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.