鱼C论坛

 找回密码
 立即注册
查看: 854|回复: 9

tkinter不行了?小甲鱼的爬猫图作业(tkinter)

[复制链接]
发表于 2018-9-11 23:24:01 | 显示全部楼层 |阅读模式

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

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

x
小甲鱼54讲第一道动手题
我是用tkinter写的
  1. import tkinter as tk
  2. import urllib.request

  3. # check if the input is number
  4. def test(content):
  5.     return content.isdigit()

  6. # down the pic
  7. def downloadPic(file_name, w, h):
  8.     print(0)
  9.     url = "http://placekitten.com/g/" + w + "/" + h
  10.     print(1)
  11.     req = urllib.request.Request(url)
  12.     print(2)
  13.     response = urllib.request.urlopen(req)
  14.     print(3)
  15.    
  16.     cat_img = response.read()
  17.     print(4)
  18.     with open(file_name, "wb") as f:
  19.         print(5)
  20.         f.write(cat_img)
  21.         print(6)

  22. # get the file name
  23. def saveFile(w, h):
  24.     file_name=tk.filedialog.asksaveasfilename(defaultextension=".jpg", \
  25.                                 title="Save Pussy", filetypes=[("JPG", ".jpg")])
  26.     # if user cancle saving file, then don't download pic
  27.     if file_name=="":
  28.         return
  29.     downloadPic(file_name, w, h)

  30. def main():
  31.     root = tk.Tk()
  32.     root.title("Get A Pussy")
  33.     root.minsize(240, 120)
  34.     root.resizable(False, False)

  35.     testCMD=root.register(test)

  36.     width=tk.StringVar()
  37.     height=tk.StringVar()
  38.    
  39.     # title
  40.     tk.Label(root, text="-- Input the Size of the Pussy --")\
  41.                    .grid(row=0, columnspan=6)

  42.     # width label and height label
  43.     tk.Label(root, text="Width:")\
  44.                    .grid(row=1, column=0, padx=10)
  45.     tk.Label(root, text="Height:")\
  46.                    .grid(row=2, column=0)

  47.     # width entry and height entry
  48.     ew=tk.Entry(root, width=26, textvariable=width, validate='key', \
  49.                 validatecommand=(testCMD, '%P'))
  50.     eh=tk.Entry(root, width=26, textvariable=height, validate='key', \
  51.                 validatecommand=(testCMD, '%P'))
  52.     # set the default size
  53.     ew.delete(0, tk.END)
  54.     eh.delete(0, tk.END)
  55.     ew.insert(0, "40")
  56.     eh.insert(0, "60")
  57.     ew.grid(row=1, column=2, columnspan=4, padx = 10, pady=5)
  58.     eh.grid(row=2, column=2, columnspan=4)

  59.     tk.Button(root, text = "OK", width=15, command=lambda: saveFile(width.get(), height.get()))\
  60.                     .grid(row=3, column=0, columnspan=3, padx=10, pady=10)
  61.     tk.Button(root, text="Cancel", width=15, command=root.quit)\
  62.                     .grid(row=3, column=3, columnspan=3, padx=10)

  63.     tk.mainloop()

  64. if __name__ == "__main__":
  65.     main()
复制代码

然后运行正常与否完全是随机发生
在linux下不能运行
在Windows下双击文件打开,OK键根本不能用
只有在IDLE下运行,才有概率能够成功

有没有大佬能够帮我看看那里出了问题
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-12 07:21:52 | 显示全部楼层
save pussy,,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-12 08:45:09 | 显示全部楼层
from tkinter import filedialog
再把下面的改了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-18 22:01:52 | 显示全部楼层

用with open还要save吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-18 22:04:36 | 显示全部楼层
苏丛 发表于 2018-9-18 22:01
用with open还要save吗

其他好像没问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-18 22:18:30 | 显示全部楼层
塔利班 发表于 2018-9-12 08:45
from tkinter import filedialog
再把下面的改了

请问下面需要改什么

把tkinter.filedialog去掉吗?这样的话应该不是
麻烦讲解一下

十分感激
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-18 22:19:13 | 显示全部楼层
塔利班 发表于 2018-9-12 08:45
from tkinter import filedialog
再把下面的改了

在你的电脑能运行吗

是不是稍微大一点的图片就会卡住崩溃?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-18 22:19:51 | 显示全部楼层
能运行,没试别的,,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-18 22:23:38 | 显示全部楼层
也没卡住
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-19 20:47:15 | 显示全部楼层

大图也行?
看来是我的网速太渣了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-2 02:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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