wie behebe ich diesen fehler?
Hallo!
Kann mir jemand helfen diese Fehler zu beheben?
FEHLER 1 :Traceback (most recent call last):
File "C:\Users\arrou\OneDrive\Desktop\cheese\für acc\tmmail\main.py", line 37, in <module>
class mailtm_gui(ctk.CTk):
Fehler 2 : File "C:\Users\arrou\OneDrive\Desktop\cheese\für acc\tmmail\main.py", line 59, in mailtm_gui
knopf = ctk.CTkButton(main, text="n", command=neum())
FEHLER 3 : File "C:\Users\arrou\OneDrive\Desktop\cheese\für acc\tmmail\main.py", line 56, in neum
mail_body = ctk.CTkEntry(mail_window, placeholder_text='Subject: ' + message['subject'] + '\nBody: ' + (message['text'] if message['text'] else message['html']), width=900, font=('Helvetica', 20))
TypeError: 'module' object is not subscriptable
import customtkinter as ctk
from mailtm import *
from mailtm import message
def listener(message):
print("\nSubject: " + message['subject'] + str(listener))
print("Content: " + message['text'] if message['text'] else message['html'] + str(listener))
test = Email()
print("\nDomain: " + test.domain)
test.register()
print("\nEmail Adress: " + str(test.address))
test.start(listener, interval=3)
print("\nHab Sabr.....")
main = ctk.CTk()
main.geometry("500x320")
main.title("Temp mail By Amjn")
emaila = ctk.CTkEntry(main, placeholder_text=" " + test.address, width=900, font=("Helvetica", 20))
emaila.configure(state="readonly")
emaila._corner_radius = 10
emaila.pack()
Copyt = ctk.CTkLabel(main, text="Copy Email", font=("Helvetica", 20))
Copyt.pack()
class mailtm_gui(ctk.CTk):
def __init__(self):
ctk.CTk.__init__(self)
self.geometry('500x320')
self.title('Temp mail By Amjn')
listener = Email()
listener.register()
emaila = ctk.CTkEntry(self, placeholder_text=listener.address, width=900, font=('Helvetica', 20))
emaila.configure(state='readonly')
emaila._corner_radius = 10
emaila.pack()
listener.start(listener, interval=3)
def neum():
mail_window = ctk.CTkToplevel()
mail_window.title("amjs tm by mailtm")
mail_window.geometry('500x320')
mail_window.corner_radius = 30
mail_window.resizable(width=True, height=True)
mail_body = ctk.CTkEntry(mail_window, placeholder_text='Subject: ' + message['subject'] + '\nBody: ' + (message['text'] if message['text'] else message['html']), width=900, font=('Helvetica', 20))
mail_body.pack()
knopf = ctk.CTkButton(main, text="n", command=neum())
main.mainloop()
1 Antwort
1) Bei der Definition des command für deinen Button rufst du die Funktion neum direkt auf. Das heißt, ihr Rückgabewert (None) wird anschließend dem Argument command zugewiesen.
Richtig wäre die Übergabe einer Funktionsreferenz:
knopf = ctk.CTkButton(main, text="n", command=neum)
2) Die Fehlermeldung
TypeError: 'module' object is not subscriptable
weist daraufhin, dass du ein Modul so behandelst, als sei es ein Objekt.
Beispiel:
# --- a.py ---
a = { "test": 123 }
# --- b.py ---
import a
print(a["test"]) # error: a is the module, not the dict
# --- c.py ---
import a
print(a.a["test"]) # 123
# --- d.py ---
from a import a
# or: from a import *
print(a["test"]) # 123