分Hugh如果 发表于 2020-3-4 02:10:00

easyGUI中multenterbox()的疑问

11.3 multenterbox()

multenterbox(msg='Fill in values for the fields.', title=' ', fields=[], values=[], callback=None, run=True)

这个values=[]有什么用呢?目前我没用设置过,如果设置了值会怎么样?

此外第35节课后作业里 做登录界面

import easygui as g

msg = "请填写以下联系方式"
title = "账号中心"
fieldNames = [" *用户名", " *真实姓名", "固定电话", " *手机号码", "QQ", " *E-mail"]
fieldValues = []
fieldValues = g.multenterbox(msg, title, fieldNames)

while 1:
    if fieldValues == None:
      break
    errmsg = ""
    for i in range(len(fieldNames)):
      option = fieldNames.strip()
      if fieldValues.strip() == "" and option == "*":
            errmsg += ('【%s】为必填项。\n\n' % fieldNames)
    if errmsg == "":
      break
    fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)

print("用户资料如下:%s" % str(fieldValues))
   
倒数第二行的fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)为什么要加入fieldValues? 不加会有影响吗

txxcat 发表于 2020-3-4 10:47:17

本帖最后由 txxcat 于 2020-3-4 11:09 编辑

values是默认值,有内容的话就会在输入框里显示出来。
fieldvalues是返回的已经输入过的值,这段其实相当于values=fieldvalues,碰到带*号没有输入需要补充输入的时候,已输入过的值还存在,如果不加入,已经输入的值就会被清空。

bravsheng 发表于 2021-7-27 14:29:01

txxcat 发表于 2020-3-4 10:47
values是默认值,有内容的话就会在输入框里显示出来。
fieldvalues是返回的已经输入过的值,这段其实相当 ...

噢,明白了! 刚刚试了下,确实如此!
这个有必要加进去,不然之前输入过的值会被清空。
页: [1]
查看完整版本: easyGUI中multenterbox()的疑问