Tkinter创建图像函数报错(pyimage1不存在)

2024-02-11

我是一名来自外界的学生,之前没有任何编程经验。我一直在学习 Python 作为数学课的延伸。我一直在尝试创建一个使用 Tkinter 生成分形的程序。该代码本身运行良好,但包含用户输入 GUI 会导致出现错误:

    Exception in Tkinter callback
    Traceback (most recent call last):
      File "C:\Python33\lib\tkinter\__init__.py", line 1475, in __call__
        return self.func(*args)
      File "C:\Python33\FractalGUI.py", line 74, in fractals
        canvas.create_image((0, 0), image = img, state = "normal", anchor = tkinter.NW)
      File "C:\Python33\lib\tkinter\__init__.py", line 2319, in create_image
        return self._create('image', args, kw)
      File "C:\Python33\lib\tkinter\__init__.py", line 2310, in _create
        *(args + self._options(cnf, kw))))
    _tkinter.TclError: image "pyimage1" doesn't exist

代码本身如下。请注意,错误不会出现,直到canvas.create_image线路已运行。如果我可以提供任何其他信息,请告诉我。谢谢! :)

    import tkinter
    from tkinter import *

    #Creates widgets for user input
    class Imagespecs(Frame):

        def __init__(self,master):
            Frame.__init__(self,master)
             self.grid()
             self.y_axis()
             self.x_axis()

    #Y axis input
         def y_axis(self):
            self.instruction = Label(self,text = "How many pixels high do you want the image?")
            self.instruction.grid(row = 8, column = 0, columnspan = 2, sticky = N)

            self.height = Entry(self)
            self.height.grid(row = 10, column = 1, sticky = E)

    #Enters info to run fractal generation
            self.submit_button = Button(self,text = "Submit", command = self.fractals)
            self.submit_button.grid(row = 14, column = 2, sticky = E)

    #X axis input
         def x_axis(self):
             self.instruction2 = Label(self,text = "How many pixels wide do you want the image?")
             self.instruction2.grid(row = 4, column = 0, columnspan = 2, sticky = E)

            self.width = Entry(self)
            self.width.grid(row = 6, column = 1, sticky = E)

      #generates fractal
         def fractals(self):
             #Replace non-input
             content = self.width.get()
             content2 = self.height.get()

             if content == "":
                content = 500

             if content2 == "":
                content2 = 500

            #Create window specs
            WIDTH = int(content2); HEIGHT = int(content)
            xa = -2.0; xb = 1.0
            ya = -1.5; yb = 1.5
            maxIt = 256

             window = Tk()
             canvas = Canvas(window, width = WIDTH, height = HEIGHT, bg = "#000000")
             img = PhotoImage(width = WIDTH, height = HEIGHT)

             #The Newton-Raphson iteration
             h = HEIGHT
            for ky in range(HEIGHT):
                print (h)
                h = h - 1
                for kx in range(WIDTH):
                    c = complex(xa + (xb - xa) * kx / WIDTH, ya + (yb - ya) * ky / HEIGHT)
                    z = complex(0.0, 0.0)
                     for i in range(maxIt):
                        z = z * z + c
                        if abs(z) >= 2.0:
                            break
                     rd = hex(i % 4 * 64)[2:].zfill(2)
                     gr = hex(i % 8 * 32)[2:].zfill(2)
                     bl = hex(i % 16 * 16)[2:].zfill(2)
                     img.put("#" + rd + gr + bl, (kx, ky))

             canvas.create_image((0, 0), image = img, state = "normal", anchor = tkinter.NW)

             #Run GUI
             canvas.pack()
             mainloop()

     root = Tk()
     root.title("Fractal GUI")
     root.geometry("300x200")
     app = Imagespecs(root)

     root.mainloop()

尝试定义一个master:

PhotoImage(master = canvas, width = WIDTH, height = HEIGHT)

如果您没有定义主版,则此图像将使用第一个Tk()这是创建的,如果是Tk删除后没有图像可显示。

告诉我它是否有效,我猜。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tkinter创建图像函数报错(pyimage1不存在) 的相关文章

  • 为什么开始按钮不执行计数器功能

    from tkinter import import tkinter as tk 创建计数器 def a def counter label label counter 0 def count global counter counter
  • 将海龟模块与 tkinter 画布集成[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我正在尝试将 Turtle 模块集成到我用 TKInter 创建的界面中 目前我有一个画布 我希望乌龟可以在其中绘制 参
  • 01 无效令牌[重复]

    这个问题在这里已经有答案了 嘿 学习 python3有一段时间了 遇到字典和dictionary name get 方法并尝试获取随机键值 问题 data data get key 1 它有效并且返回 1 但如果我使用data get ke
  • HTML Canvas:旋转图像 3D 效果

    我怎样才能旋转图像 例如45度 并挤压图像 假设我有一个完美的方形图像 我可以将它旋转到我想要的任何角度 但我想让旋转后的正方形被压扁 使高度比宽度小 2 3 生成的图像将不是一个完美的旋转正方形 而是一个被压扁的正方形 你知道我怎样才能达
  • PhotoImage 实例没有属性“调整大小”

    我收到错误 PhotoImage 实例没有属性 调整大小 尽管多个在线资源声称这是使用 PIL 调整图像大小的方法 有任何想法吗 相关代码 Deathwing ImageTk PhotoImage Image open Deathwing
  • fillRect(0,0,0,1)和clearRect()有什么区别

    之间有什么区别 ctx fillStyle rgba 0 0 0 1 ctx fillRect 0 0 100 100 and ctx clearRect 0 0 100 100 性能或生成的图像或画布数据有什么差异吗 更新以对应有问题的
  • 在简单的Python Tkinter程序中实现带有开/关功能的暗模式?

    我按照本教程创建了一个非常简单的文本编辑器应用程序 使用Python s Tkinter 我想做的是添加使用的选项checkbutton 所以当checked 文本编辑器的主题将更改为深色模式主题 并且何时unchecked 将返回默认的白
  • python ImportError:没有名为 Tkinter 的模块

    每次我尝试奔跑import matplotlib 我有错误ImportError No module named Tkinter 输出结果如下所示 Python 2 7 5 default Aug 2 2016 04 20 16 GCC 4
  • 如何等待第一次画布重绘,直到 @font-face-font 加载?

    我有一个 HTML5 画布并用它编写文本context fillText 使用 font face font 使用 Firefox 3 6 显示页面我遇到问题 在画布的第一次绘制上 字体尚未下载 因此文本将以标准字体显示 我找到了一个 解决
  • Tkinter 网格列跨度被忽略

    考虑以下 python 脚本 usr bin env python from Tkinter import Tk Label width SOME VALUE HERE root Tk label1 Label root text 1 co
  • 在 Mac 上运行 Tkinter

    我是一个绝对的新手 我正在尝试为我的学校项目制作 Python GUI 所以我决定使用 Tkinter 当我尝试导入 Tkinter 时 它会抛出以下消息 gt gt gt import tkinter Traceback most rec
  • 窗口调整大小事件上的响应式画布

    我是画布概念的新手 我正在尝试使用 D3 js 绘制画布 我想让画布根据窗口屏幕大小进行响应 function onResize var element document getElementsByTagName canvas 0 var
  • 在overlayImage中应用滤镜的方法在哪里?

    我想在overlayImage中应用一个过滤器 唯一的方法是在渲染后在整个画布上应用过滤器 对此没有内置支持 但很容易 破解 var overlayImageUrl load overlay image first fabric Image
  • 在Android中绘制带有曲线底部的矩形视图

    美好的一天 我想画一个矩形作为视图 但底部应该是弯曲的 我不想应用这样的背景图像或使用任何视图 因为如果我使用视图并设置背景 曲线部分仍然会有不可见的空白空间 我将无法将另一个曲线图像附加到自定义视图的底部曲线 那么我该如何绘制一个带有底部
  • WebGL VS Canvas 2D 硬件加速

    这些天 我需要在画布上画很多图像 画布尺寸为800x600px 我有很多256x256px的图像 有些更小 在上面绘制 这些小图像将在画布上组成一个完整的图像 我有两种方法来实现这一点 首先 如果我使用canvas 2D上下文 那就是con
  • 如何以 Rails 形式将图像从 上传到具有 Rails Active Storage 的 S3?

    正如标题中所述 我正在尝试使用 Rails 的 Active Storage 从嵌套在 Rails 表单中的元素将图像上传到我的 S3 存储桶 到目前为止我已经能够使用使用 Active Storage 上传图像 这User class h
  • 如何在 React 中将图像加载到画布上?

    如何在 React 中将图像上传到画布的整个宽度 高度 例如 class PlanPage extends Component constructor props super props componentWillMount this se
  • 围绕二维坐标系中的特定点缩放

    Below is an image my coordinate system 我想做的是 我想开始围绕画布中的特定点进行缩放 缩放工作正常 但我的问题是我不知道如何计算缩放时移动画布的量 请注意 我我没有使用canvas scale 我只是
  • 在 HTML5 中将两个图像合并到一个画布上

    我正在使用 HTML5 canvas 元素 假设我有 2 个 ImageData 对象 我想将它们组合起来放在一张画布上 假设我不关心这些图像如何组合 两个 ImageData 对象具有完全相同的像素数和形状 组合两个图像的最佳方式是什么
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline

随机推荐

  • PictureBox 无法正常刷新?

    我是编程新手 如果我问了一个愚蠢的问题 请原谅我 我正在尝试显示从实时摄像头获得的实时图像 当我启动程序时 图片框能够显示该对象 参见图1 当我删除该对象时 它会显示此图像 参见图2 但问题是 当我放回对象时 我应该能够获得类似于图片 1
  • 在循环中创建控件

    我有一些代码可以将新单元格添加到表格中并用文本框填充它们 到目前为止我的编码方式效果很好 TableCell tCell1 new TableCell TableCell tCell2 new TableCell TableCell tCe
  • 如何更改 WordPress 页面上的标题?

    上下文 WordPress 5 4 5 和优斯特搜索引擎优化 https en wikipedia org wiki Yoast SEO 3 7 1 我是一名插件开发人员 可以访问客户的网站 该站点安装了 Yoast 3 7 1 这很重要吗
  • 中间有 T 的日期/时间 (2008-09-18T00:00:00) 怎么称呼?

    如果您有一个像 2008 09 18T00 00 00 这样的日期 它有名称吗 世界标准时间 类似的事情 令人惊讶的是很难用谷歌搜索这个 这是一个组合的日期 时间表示形式 定义为ISO8601 http en wikipedia org w
  • 种子设置:为什么输入不变后输出不同

    设置种子可确保再现性 并且在仿真建模中非常重要 考虑一个简单的模型f 有两个变量y1 and y2出于兴趣 这些变量的输出由随机过程决定 rbinom 和参数x1 and x2 两个感兴趣变量的输出彼此独立 现在假设我们想要将相应参数发生变
  • 如何检测删除按钮UItableviewcell是否被隐藏?

    我有一个包含 UITableView 的视图 当用户滑动时 我可以在单元格上显示删除按钮 如果用户触摸删除按钮 将触发一个方法 这很好用 但是 如果用户决定不删除单元格 并且触摸视图中的任意位置以隐藏删除按钮 我怎样才能检测到这一点 当用户
  • 如何使用brew安装maven而不使用openjdk?

    我的机器上已经安装了 Java HotSpot JDK 11 我正在使用它来进行所有操作 当我打字时brew install maven它尝试安装openjdk作为依赖 我不希望这样 希望 maven 使用我的 JDK 而不是它自己的ope
  • 在 Angular Material 2 表中使用虚拟滚动和 @angular/cdk-experimental

    我有一个表显示很多行 我想优化它的性能 我通过使用虚拟滚动技术找到了解决方案 这是一个例子Angular Material CDK 虚拟滚动视口组件 https github com angular material2 tree maste
  • 使用当前日期初始化模型

    我正在尝试使用当前日期初始化我的模型 我不想使用本机模块 我正在尝试通过任务和效果来做到这一点 我被困在我的getCurrentTime方法 什么是最干净的方法 import Time exposing Time import StartA
  • 字段初始值设定项无法引用非静态字段、方法或属性

    好的 我有下面的代码 从技术上讲 它所做的就是读取db txt逐行文件 然后假设分割行0到一个名为密码的数组中 private string lines System IO File ReadAllLines U Final Project
  • NodeJS 集群不使用循环(在 Windows 上开发)

    您好 我目前正在开发一个 MEAN 堆栈项目 我发现了在部署项目之前建议使用的 Nodejs 集群模块 我已经应用了它并做了一些 ApacheBenchmark 问题是 它只响应 1 个工作人员 它不会围绕我的其他 7 个工作人员轮换 我在
  • 这是如何打印“hello world”的?

    我发现了这个奇怪的现象 for long l 4946144450195624l l gt 0 l gt gt 5 System out print char l 31 64 95 32 Output hello world 这是如何运作的
  • 在 C# 中为我的列表包装器实现集合初始值设定项[重复]

    这个问题在这里已经有答案了 我创建了一个包装列表的类 class Wrapper private List
  • 如何从核心 iOS 代码引用 WatchKit 扩展中的 Swift 类?

    我试图让我的 iOS 应用程序在每次从服务器更新数据时向 WatchKit 扩展发送一组数据 这就是我的 iOS 应用程序中的代码 名称已更改 WatchKitDataModel loadDataFromSource currentData
  • 在命令行工具中使用框架

    我使用 Cocoa 在 Xcode 中构建了一个命令行实用程序 基础工具 该工具使用第三方框架 在 Xcode 中一切正常 但是我如何部署这个程序呢 如果我从 Finder 运行该应用程序 它无法找到该库 因为它正在查找 Framework
  • 使用 Python 估计自相关

    我想对如下所示的信号执行自相关 两个连续点之间的时间为 2 5ms 或重复率为 400Hz 这是我想使用的估计自动增加的方程 取自http en wikipedia org wiki 自相关 http en wikipedia org wi
  • 以 JSON 形式获取 Twitter 公共提要

    作为我项目的一部分 我需要在 iOS 应用程序中显示推文列表 我尝试使用下面的代码 但它返回 JSON 相同的代码在版本 1 上运行良好 现在 twitter api 版本是 1 1 我收到另一个警告TWRequest is depreca
  • 签署 SOAP 消息期间的 WSS4j 元素顺序

    我正在 Java 中实现 Web 服务客户端 它使用 wss4j 1 6 8 来实现 WS Security 更准确地说 我需要签署 SOAP 消息 服务器端要求请求具有以下结构
  • 将日期时间转换为美国和欧洲日期时间

    我需要转换格式为 2012 10 15 15 00 21 970 的日期 至欧洲 15 10 2012 15 00 21 CONVERT nvarchar DateTime 103 N CONVERT nvarchar DateTime 8
  • Tkinter创建图像函数报错(pyimage1不存在)

    我是一名来自外界的学生 之前没有任何编程经验 我一直在学习 Python 作为数学课的延伸 我一直在尝试创建一个使用 Tkinter 生成分形的程序 该代码本身运行良好 但包含用户输入 GUI 会导致出现错误 Exception in Tk