Okienko Tkintera nie wyświetla się

Odpowiedz Nowy wątek
2019-05-10 10:20
0

Kod napisany obiektowo po uruchomieniu nie zwraca interfejsu graficznego.

from tkinter import *

class Root(Tk):
    def __init__(self):
        super(Root, self).__init__()
        self.title("Exif Data")

        self.minsize(640,480)

root = Root()
root.mainloop

Po dodaniu do kodu

root3=tk.Tk()
root3.mainloop()

O dziwo uruchamia oba okienka. Po dodaniu labelFrame i button w klasie nie pokazują się one w okienku.


Life is Strange
W którym miejscu dodajesz labelFrame, bo jeśli po root.mainloop() to nie ma się co dziwić. Gdybyś użył debuggera to byś wiedział że on nigdy ich nie stworzy, bo na mainloopie() okno 'trwa', i dopóki trwa, to nie wykona późniejszych instrukcji. Przy okazji, w jedenastej linii masz root.mainloop bez nawiasów wywołujących mainloop - Guaz 2019-05-10 11:01

Pozostało 580 znaków

2019-05-10 11:05
2

Ogólnie zrobiłeś to źle, dlatego się nie uruchamia, najlepiej spojrzeć na przykład z dokumentacji, coś czego wiele osób unika na rzecz (często) g**no wartych poradników :).

import tkinter as tk

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

    def create_widgets(self):
        self.hi_there = tk.Button(self)
        self.hi_there["text"] = "Hello World\n(click me)"
        self.hi_there["command"] = self.say_hi
        self.hi_there.pack(side="top")

        self.quit = tk.Button(self, text="QUIT", fg="red",
                              command=self.master.destroy)
        self.quit.pack(side="bottom")

    def say_hi(self):
        print("hi there, everyone!")

root = tk.Tk()
app = Application(master=root)
app.mainloop()

https://docs.python.org/3/lib[...]#a-simple-hello-world-program
Tu link do dokumentacji, fragmentu w którym jest kod podstawowej konstrukcji.


Linux Mint
Arduino / Python 3.5.2

Pozostało 580 znaków

2019-05-10 12:25
1

Brakuje nawiasów w ostatniej linijce

root.mainloop
Już to napisałem w komentarzu :D - Guaz 2019-05-11 11:17

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0