Как я могу сделать easygui Multi Enter Box?
Как мне сделать easygui Multienterbox со всеми приведенными ниже вопросами в одном окне?
namegui = easygui.enterbox(msg='Enter your name', title='Name query', default='Gian')
baigui = easygui.enterbox(msg='Enter your BAI', title='Burns Anxiety Inventory query', default='Gian')
bdcgui = easygui.enterbox(msg='Enter your BDC', title='Burns Depression Checklist query', default='Gian')
yeargui = easygui.enterbox(msg='Enter the current year', title='Current Year', default='2011')
monthgui = easygui.enterbox(msg='Enter the current month', title='Current Month')
daygui = easygui.enterbox(msg='Enter the current day', title='Current Day')
time_hourgui = easygui.enterbox(msg='Enter the current hour', title='Current Hour')
time_minutegui = easygui.enterbox(msg='Please enter current minutes', title='Current Minute')
am_pmgui = easygui.enterbox(msg='Please enter either am or pm', title='AM OR PM')
Я использую Python 2.5.1 в Mac OS X Snow Leopard(10.6).
1 ответ
Решение
В руководстве EasyGui есть раздел по использованию multienterbox
, Вы можете поместить все свои имена полей в список (fieldNames = ['Name query','Burns Anxiety inventory query',...]
) и передать его multienterbox
вместе с заголовком окна (title
) и сообщение (msg
):
fieldValues = multenterbox(msg,title, fieldNames)
Если вам все еще нужны значения в отдельных полях, вы можете распаковать ваш кортеж:
# include one variable name for each value in fieldValues
namegui, baigui, bdcgui = fieldValues
Вот рабочий пример
def GetNameconfig():
name = "TestInputValue"
return name
defaultName = GetNameconfig()
msg = "Enter your personal information"
title = "Credit Card Application"
fieldNames = ["Name","Street Address","City","State","ZipCode"]
fieldValues = [defaultName, "Hauptstr. 1", "", "Germany", ""]
box = eg.multenterbox(msg,title, fieldNames, fieldValues)
print("Reply was: %s" % str(fieldValues))