You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Tkinter截图工具触发return self.func(*args) TypeError报错求解

错误原因排查

报错已经明确指向问题根源:你尝试将函数类型和字符串做拼接操作,具体问题有2处:

  1. 函数未正确调用:takeBoundedScreenShot方法中fileName = file_save只是把file_save函数本身赋值给了变量,没有执行函数,正确调用需要加括号file_save()
  2. 现有file_save函数逻辑完全不符合需求:你写的file_save是用来保存文本框内容的,没有返回保存路径,且默认后缀为txt,不适用截图存储场景。

修复方案

直接替换原有错误逻辑即可,步骤如下:

  1. 删除原有的file_save函数,该功能完全不需要
  2. 修改takeBoundedScreenShot方法为如下代码:
def takeBoundedScreenShot(self, x1, y1, x2, y2):
    im = pyautogui.screenshot(region=(x1, y1, x2, y2))
    # 弹出保存路径选择框,默认保存为png格式
    fileName = tkinter.filedialog.asksaveasfilename(
        defaultextension=".png",
        filetypes=[("PNG图片", "*.png"), ("JPG图片", "*.jpg"), ("所有文件", "*.*")]
    )
    # 用户点击取消时直接跳过保存逻辑
    if not fileName:
        return
    im.save(fileName)

修改完成后重新运行程序,框选区域结束后就会正常弹出保存路径选择窗口,不会再出现崩溃问题。

内容的提问来源于stack exchange,提问作者Bean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:36:01