|
发表于 2020-11-10 13:12:22
|
显示全部楼层
while 1:
if fieldValues == None:
break
这是当你点击取消Cancle或追关闭窗口(右上角的的X)跳出循环,因为这两种情况返回值就None,你点击ok的返回的时候fieldValues返回的时候一个空列表,所以它不会成立.
import easygui as g
想要实现你说的那样,不难
msg = "请填写以下联系方式"
title = "账号中心"
fieldNames = [" *用户名", " *真实姓名", " 固定电话", " *手机号码", " QQ", " *E-mail"]
fieldValues = []
fieldValues = g.multenterbox(msg,title, fieldNames)
while 1:
errmsg = ''
spack = 0 #记录未填项
if fieldValues == None:
break
for i in range(len(fieldNames)):
option = fieldNames[i].strip()
if fieldValues[i] == '': #如果当前下标元素为空
spack += 1
if fieldValues[i].strip() == "" and option[0] == "*":
errmsg += ('【%s】为必填项。\n\n' % fieldNames[i])
if spack == len(fieldValues): #spack 记录着fieldValues有多少项未填写项,如果未填项数量等于填写项数量,那么就判断所有填写项都为空
print('全为空')
break
if errmsg == "":
print('errmsg跳出循环')
break
fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)
print("用户资料如下:%s" % str(fieldValues))
|
|