如何理解有关multenterbox代码
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)) 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))#输出信息 无符号整形 发表于 2018-8-14 19:23
老哥,谢了!我就是卡在了break上,尤其是第一个break上的语句 Brucey 发表于 2018-8-14 19:26
老哥,谢了!我就是卡在了break上,尤其是第一个break上的语句
不用谢~{:5_109:} multenterbox(msg='Fill in values for the fields.', title=' ', fields=[], values=[], callback=None, run=True)
multenterbox() 为用户提供多个简单的输入框,要注意以下几点:
如果用户输入的值比选项少的话,则返回列表中的值用空字符串填充用户为输入的选项。
如果用户输入的值比选项多的话,则返回的列表中的值将截断为选项的数量。
如果用户取消操作,则返回域中的列表的值或者 None 值。
这里fieldNames相当于tkinter的label标签的列表,一次传入多个label文本
fieldValues是文本框多行输入的列表,没输入默认设置为空
这里while 1循环实际就是捕捉用户输入,当有输入时,fieldValues就不为空
errmsg只是用来判断必填项是否有内容,并给出提示信息
无符号整形 发表于 2018-8-14 19:09
很棒,你的注释有助于理解!
页:
[1]