Установите значения по умолчанию в многоцентровом ящике easygui

#python #parameters #default-value #easygui

Вопрос:

Мне трудно понять, как установить некоторые значения по умолчанию в поля easygui multienterbox. Вот мой пример кода:

 from easygui import multenterbox  msg = "Enter your personal information" title = "Form" fieldNames = ["Name", "Street Address", "City", "State", "ZipCode"] fieldValues = multenterbox(msg, title, fieldNames)  # make sure that none of the fields was left blank while 1:  if fieldValues == None: break  errmsg = ""  for i in range(len(fieldNames)):  if fieldValues[i].strip() == "":  errmsg = errmsg   ('"%s" is a required field.nn' % fieldNames[i])  if errmsg == "": break # no problems found  fieldValues = multenterbox(errmsg, title, fieldNames, fieldValues) print("Reply was:", fieldValues)  

Ответ №1:

Ключом было установить другой список значений по умолчанию и передать его в качестве другого параметра multenterbox() . Это было мое случайное решение, потому что я нигде не нашел этот параметр в документации. Пример кода здесь:

 from easygui import multenterbox  msg = "Enter your personal information" title = "Form" fieldNames = ["Name", "Street Address", "City", "State", "ZipCode"] fieldNames_defs = ["Dave", "Narrow st.", "Prague", "CZE", "18000"] fieldValues = multenterbox(msg, title, fieldNames, fieldNames_defs)  # make sure that none of the fields was left blank while 1:  if fieldValues == None: break  errmsg = ""  for i in range(len(fieldNames)):  if fieldValues[i].strip() == "":  errmsg = errmsg   ('"%s" is a required field.nn' % fieldNames[i])  if errmsg == "": break # no problems found  fieldValues = multenterbox(errmsg, title, fieldNames, fieldValues) print("Reply was:", fieldValues)