鱼C论坛

 找回密码
 立即注册
查看: 1503|回复: 2

[已解决]请问在选择喵的尺寸页面,点击cancle,如何阻止 保存页面弹出呢?

[复制链接]
发表于 2019-9-19 20:34:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import easygui as g
import urllib.request

def main():
    msg = "请填写喵的尺寸"
    title = "下载一只喵"
    fieldNames = ["宽:", "高:"]
    fieldValues = []
    size = width, height = 400, 600
    fieldValues = g.multenterbox(msg, title, fieldNames, size)

    while 1:
        if fieldValues == None:
            break
        errmsg = ""

        try:
            width = int(fieldValues[0].strip())
        except:
            errmsg += "宽度必须为整数!"

        try:
            height = int(fieldValues[1].strip())
        except:
            errmsg += "高度必须为整数!"   

        if errmsg == "":
            break
        
        fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)

    url = "http://placekitten.com/g/%d/%d" % (width, height)

    response = urllib.request.urlopen(url)
    cat_img = response.read()

    filepath = g.diropenbox("请选择存放喵的文件夹")

    if filepath:
        filename = '%s/cat_%d_%d.jpg' % (filepath, width, height)
    else:
        filename = 'cat_%d_%d.jpg' % (width, height)

    with open(filename, 'wb') as f:
        f.write(cat_img)

if __name__ == "__main__":
    main()


请问在选择喵的尺寸页面,点击cancle以后,如何阻止 保存页面弹出呢?因为选择喵的尺寸后,点击OK,出现保存页面才是顺理成章的事情。
最佳答案
2019-9-19 21:05:34
可以加一行代码:

  1.     response = urllib.request.urlopen(url)
  2.     cat_img = response.read()
  3.    
  4.     [b]if fieldValues:[/b]
  5.         
  6.         filepath = g.diropenbox("请选择存放喵的文件夹")

  7.         if filepath:
  8.             filename = '%s/cat_%d_%d.jpg' % (filepath, width, height)
  9.         else:
  10.             filename = 'cat_%d_%d.jpg' % (width, height)

  11.         with open(filename, 'wb') as f:
  12.             f.write(cat_img)
复制代码


加了那一行加粗的代码 (if fieldValues:),就是说如果easygui的界面关闭了就不运行之后的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-19 20:52:47 | 显示全部楼层
你可以在  g.multenterbox  把值传给  fieldValues 后输出这个东西,看看你点了 cancle 之后传出来的到底是个啥,然后在要跳出保存页面的那部分代码添加上一个条件判断。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-19 21:05:34 | 显示全部楼层    本楼为最佳答案   
可以加一行代码:

  1.     response = urllib.request.urlopen(url)
  2.     cat_img = response.read()
  3.    
  4.     [b]if fieldValues:[/b]
  5.         
  6.         filepath = g.diropenbox("请选择存放喵的文件夹")

  7.         if filepath:
  8.             filename = '%s/cat_%d_%d.jpg' % (filepath, width, height)
  9.         else:
  10.             filename = 'cat_%d_%d.jpg' % (width, height)

  11.         with open(filename, 'wb') as f:
  12.             f.write(cat_img)
复制代码


加了那一行加粗的代码 (if fieldValues:),就是说如果easygui的界面关闭了就不运行之后的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 01:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表