Предпосылка моего кода - запросить пароль, и графический интерфейс tkinter вернет, думает ли он, что он безопасен или нет. Тем не менее, я не могу получить функцию if, отображаемую в поле вывода. Вот код (Это было обновлено, чтобы включить больше кода и более подробное объяснение моей проблемы.)

from tkinter import *

password = Tk()
password.title('Password tester')

label = Label(password, text="Password:").grid(row=1, column=0, sticky=W) 
entry= Entry(width=20, bg='light blue')
entry.grid(row=2, column=0, sticky=W)        #Input box

def click():
  entered_text = entry.get()
  print("click")
  Button(password, text='SUBMIT',width=5, command=click).grid(row=3,column=0, sticky=W)    #Submit button ('Click' is also returned in the shell)

  label = Label(password, text='\n\nPassword strength:')
  label.grid(row=4, column=0, sticky=W)

  output = Text(password, width=75, height=6, wrap=WORD, background='light blue')
output.grid(row=5, column=0, columnspan=2, sticky=W)    #Output box

if label['text'] =='password':
   output.insert(END, label['text'])#'Cool = output if 'password' entered
   print('Cool')

Теперь код возвращает «клик», если в «Пароль» введен «пароль». коробка . Однако вместо графического интерфейса в оболочке появляется «щелчок», и предполагается, что в поле «Надежность пароля:» будет напечатано «круто», если введен «пароль».

0
user7437114 27 Май 2017 в 20:36

2 ответа

Лучший ответ

Не используйте функцию if. Вместо этого назначьте «пароль» для словаря.

Def click (): находится не в том положении. Назначение «пароля» для словаря значительно облегчает получение ответа в выводе. Вот код:

from tkinter import *

def click():
  entered_text = entry.get()
  output.delete(0.0, END)
  strength = pass_Type[entered_text]    #Key press function
  output.insert(END, strength)

Password = Tk()
Password.title('Password tester') 

label = Label(Password, text="Password:")
label.grid(row=0, column=0, sticky=W)    #Entry label

entry = Entry(width=20, bg='light blue')
entry.grid(row=1, column=0, sticky=W)     #Entry box

Button(Password, text='SUBMIT',width=5, command=click).grid(row=2,column=0, sticky=W)  #Button

label = Label(Password, text='Strength:')
label.grid(row=4, column=0, sticky=W)          #Output label

output = Text(Password, width=75, height=6, wrap=WORD, background='light blue')
output.grid(row=5, column=0, columnspan=2, sticky=W)                              #Output box 

pass_Type = {
  'password': 'This is a very predicatable password. You should incorporate numbers'
}

password.mainloop()
0
4 Июн 2017 в 14:26
label = Label(password, text='\n\nPassword strength:')
label.grid(row=4, column=0, sticky=W)

if label['text'] =='password':
   print("ok") 

Я не совсем понимаю ваш вопрос,

Вы забыли использовать функцию pack () для отображения вашего просмотра?

Редактировать :

def click():
  entered_text = entry.get()
  print("click")
  # here the code for your check
Button(password, text='SUBMIT',width=5, command=click).grid(row=3,column=0, sticky=W)
0
D. Peter 27 Май 2017 в 22:14