Как я могу сделать 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))
Другие вопросы по тегам