Seite 1 von 1

Der import von tkinter geht nicht ?!

Verfasst: Freitag 18. Dezember 2020, 22:07
von Jonas.wklm
Hey,

bin noch sehr am Anfang meiner Python Karriere und habe schon einiges in mein Kopf bekommen.
Nun wollte ich mit tkinter ein GUI erstellen um später dann mal einen ganz einfachen Taschenrechner erstellen kann, soweit das den mit tkinter meinen Vorstellungen entspricht.

Doch irgendwie wird tkinter glaube ich zumindest, nicht importiert und daher werden folgende befehle auch nicht gehighlighted.

Bräuchte Hilfe damit das klappt. :D

Bild

Re: Der import von tkinter geht nicht ?!

Verfasst: Freitag 18. Dezember 2020, 22:54
von Jonas.wklm
Bild Link vom Code:

https://ibb.co/pyhhPB9

Re: Der import von tkinter geht nicht ?!

Verfasst: Freitag 18. Dezember 2020, 23:13
von Sirius3
Bitte Code als Text in Codetags (</> im vollständigen Editor) hier posten und nicht als Bild.
Benutze keine *-Importe.
Was ist denn die Fehlermeldung, die Du beim Ausführen bekommst?

Re: Der import von tkinter geht nicht ?!

Verfasst: Samstag 19. Dezember 2020, 00:24
von __blackjack__
@Jonas.wklm: Ist das Problem das Du `tkinter` nicht importieren kannst, oder das es `Label` & Co nicht gibt? Falls letzteres: Wie hast Du denn *Dein* Modul genannt? Nicht zufällig `tkinter`‽ 😉

Re: Der import von tkinter geht nicht ?!

Verfasst: Samstag 19. Dezember 2020, 18:59
von Jonas.wklm
Also wenn ich es ausführe kommt zwar das Hello World Fenster aber Tk und Label sind halt undefiniert aber in den Tutorial Videos mit demselben Code sind die beiden erkannt und gehighlighted das verwirrt mich.

Re: Der import von tkinter geht nicht ?!

Verfasst: Samstag 19. Dezember 2020, 21:13
von __blackjack__
@Jonas.wklm: Ich bin verwirrt von Deiner Beschreibung. Entweder `Tk` und `Label` sind undefiniert, dann kommt da aber kein Fenster, oder Du bekommst ein Fenster, dann sind sie aber definiert. Du sagst der Import von `tkinter` geht nicht, aber bekommst ein Fenster und zeigst hier keine Fehlermeldung samt Traceback.

Und was hat das Syntaxhighlighting in Deinem Editor oder Deiner IDE damit zu tun? Oder reden wir hier gar nicht von einem Problem mit Python oder Deinem Code sondern eigentlich von Deiner IDE?

Re: Der import von tkinter geht nicht ?!

Verfasst: Sonntag 20. Dezember 2020, 18:48
von Jonas.wklm
Ich bitte wirklich um Vergebung.
Ich stecke mitten in den Startlöchern was das alles angeht und womöglich weiß ich einfach nicht was ich von mir gebe.
Ich dachte einfach es hat was mit dem Import zutun.
Jetzt bekomme ich auf einmal ein ganz anderes Problem.
Das mein Code:

Code: Alles auswählen

from tkinter import *


root = Tk()
myLabel = Label(root, text='Hello World!')

myLabel.pack()

root.mainloop()
Nun wird mir auf einmal angezeigt das alles definiert ist und das Fenster taucht auf, aber mir werden 100 unused import Probleme angezeigt.
Wie geht das bitte weg ?

Re: Der import von tkinter geht nicht ?!

Verfasst: Sonntag 20. Dezember 2020, 18:59
von Dennis89
Hallo,

In deiner ersten Zeile gibst du folgenden Befehl: Importiere von tkinter alle (!) Funktionen. Das bedeutet der Stern. Und dadurch hast du natürlich alles von tkinter importiert und nutzt eigentlich nur 'Tk' und 'Label'. Ein weiteres Problem mit dem *-Import ist, dass du alle Namen die im tkinter-Modul definiert sind, in deinem Code hast. Wenn du zufällig für deinen Code einen Namen nutzt der auch im tkinter-Modul vorkommt (du schaust sicherlich nicht immer das ganze Modul durch, um zu sehen ob der Name noch frei sit), dann kommt es zu Fehlermeldungen und zur nervigen Fehlersuche.

Wie verhält sich denn dein Code mit

Code: Alles auswählen

from tkinter import Tk, Label
?

Du kannst auch nur das Modul 'tkinter' importieren, dann musst du deinen Code aber abändern:

Code: Alles auswählen

import tkinter


root = tkinter.Tk()
myLabel = tkinter.Label(root, text='Hello World!')

myLabel.pack()

root.mainloop()
Grüße
Dennis

Re: Der import von tkinter geht nicht ?!

Verfasst: Sonntag 20. Dezember 2020, 19:07
von Jonas.wklm
Wenn ich es mit deinen beiden Möglichkeiten mache ist alles bestens und es kommen keine Probleme auf.
Doch jetzt habe ich eine Frage.
Wenn ich 'tkinter' ohne * importiere kann ich dann trotzdem alle Module benutzen ?

Re: Der import von tkinter geht nicht ?!

Verfasst: Sonntag 20. Dezember 2020, 19:17
von Dennis89
Ja, bei der ersten Methode musst du jede Funktion die du nutzen willst angeben.

Bei der zweiten Methode musst du den Namen des importierten Moduls vor die Funktion voranstellen, wie ich es in dem Code gemacht habe.
Anstatt

Code: Alles auswählen

root = Tk()
musst du dann

Code: Alles auswählen

root = tkinter.Tk()
schreiben.

Da das etwas mehr Schreibarbeit bedeutet, kannst du beim Importieren das Modul auch umbenennen. Häufig sieht man für 'tkinter' die Abkürtzung 'tk'. Das geht so:

Code: Alles auswählen

import tkinter as tk
Dann ändert sich dein Code zu:

Code: Alles auswählen

root = tk.Tk()
Grüße
Dennis

Re: Der import von tkinter geht nicht ?!

Verfasst: Sonntag 20. Dezember 2020, 19:47
von Jonas.wklm
Ich danke dir klappt jetzt alles wie gewollt :)

Lg