не получает значение текстового поля в функции

#python-3.x #tkinter

#python-3.x #tkinter

Вопрос:

«‘ по сути, я пытаюсь создать текстовое поле для приема входных данных от пользователя и открытия с некоторым именем по умолчанию и изменения его на заданное пользователем имя в другом текстовом поле, но значение текстового поля всегда равно нулю или пустой строке, что вызывает ошибку «‘

    `nweb=Toplevel()
    nweb.configure(background='blue')
    nweb.geometry('1366x768')
   
    fram.destroy()
   
   n1=Label(nweb,text='enter the following details:',font='Aerial 16',fg='yellow',bg='blue').grid(column=0,row=1) 
   n2=Label(nweb,text='DONGLE',font='Aerial 100',fg='yellow',bg='blue').grid(column=0,row=0)
   n3=Label(nweb,text='website name:',font='Aerial 10',fg='yellow',bg='blue').grid(column=0,row=2) 
   edit = Text(nweb, width=50, height=1)
   edit.grid(column=1,row=2)
   n5=Label(nweb,text='keywords (write it in words as sentence):',font='Aerial 10',fg='yellow',bg='blue').grid(column=0,row=4) 
   edit2 = Text(nweb, width=50, height=1)
   edit2.grid(column=1,row=4)

   st=edit2
     
   def getdetail():
     def webcontent():
        webcon=Toplevel()
        webcon.geometry('1366x768')
        webcon.configure(background='blue')
             
        text = Text(webcon)  
        text.insert('1.0','ENTER YOUR WEBSITE CONTENT:')  
        text.pack(side=TOP,fill=BOTH,expand=1)

        if text.get(1.0,END)!='':
           with open('C:\Users\User\OneDrive\Desktop\MUSTAFA'S PROJECT FILES\websites\1234.dat','ab') as f1:
              pickle.dump(text.get(1.0,END),f1)
           os.rename('1234.dat',str(st))      
              
     err=False
     try:
        with open('search.dat','rb') as f1:
             while True:
                l=pickle.load(f1)
                if l[0]==edit.get(1.0,END):
                   g=Label(nweb,text='webite already taken',fg='red',bg='blue').grid(column=0,row=6) 
                   err=True
                elif 'www.' not in edit.get(1.0,END) and '.com' not in edit.get(1.0,END) :
                   g=Label(nweb,text='inappropriate webite name',fg='red',bg='blue').grid(column=0,row=6) 
                   err=True

     except EOFError:
          if not(err):  
                 with open('search.dat','ab') as f1:
                    l=[edit.get(1.0,END),edit2.get(1.0,END)]
                    pickle.dump(l,f1)
       
                 edit.delete(1.0,END)
                 edit2.delete(1.0,END)
                 webcontent()
                 
   create=Button(nweb, text='enter' , command=getdetail, bg='yellow').grid(column=0,row=5)`
  

«‘и я перепробовал все, от переменных tkinter до переменных python, если вы мне поможете, это будет очень любезно с вашей стороны»‘

Комментарии:

1. Пожалуйста, исправьте отступ кода и используйте тройную обратную метку для форматирования в виде кода, и я думаю, что это должно быть text.get(1.0,'end-1c') вместо text.get(1.0,END) того, что используется для Entry виджетов?

2. я пытался, но это тоже, похоже, не очень помогает

3. Где вы предполагаете сбой?

4. @mohammedDhuleb это действительно небольшая ошибка. Попробуйте выполнить отладку самостоятельно. просто следуйте за своей переменной, введя print(my_variable) и посмотрите, где она теряется. Если вам нужна дополнительная помощь, мы здесь.