#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)