微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python导入文件,但无法识别图像

如何解决python导入文件,但无法识别图像

我用下拉菜单创建了一个python文件。当我选择一个选项时,它会导入另一个python文件,并在画布中带有一个选中按钮和一张图片文件图片都位于同一文件夹中。代码导入文件将导入画布和检查按钮,但是我收到错误消息,指出图像“ pyimage1”不存在。如果我仅运行第二个文件,它将显示检查按钮和图像而没有错误。导入python文件时,无法再识别图像,或者我做错了什么?有什么解决方法吗?

主程序:

from tkinter import *

root = Tk()
root.geometry('1560x750')

canvas=Canvas(root)
canvas.config(width=1000,height=1560,bg='light grey')
canvas.grid(row=1,column=3,rowspan=1550,ipadx=1300,ipady=750,sticky=NW)

def option_number(x):
    if x == "one":
        import part2

variable = StringVar()
variable.set("options")
w = OptionMenu(canvas,variable,"one","two",command = option_number)
w.config(width=15,height=1,bg='blue')
w.place(x=400,y=100)

root.mainloop()

要导入的文件

from tkinter import *

root = Tk()
root.geometry('1560x750')

canvas=Canvas(root)
canvas.config(width=1000,sticky=NW)

button = Checkbutton(canvas).place(x=170,y=230)
AND_gate=PhotoImage(file='AND.png') #set up variables for and_gate
labelimage_and = Label(canvas,image=AND_gate).place(x=200,y=200)

root.mainloop()

更新了导入功能代码

from tkinter import *

root = Tk()
root.geometry('1560x750')

canvas=Canvas(root)
canvas.config(width=1000,sticky=NW)

def option_number(x):
    if x == "one":
        from part1 import import_def

variable = StringVar()
variable.set("options")
w = OptionMenu(canvas,y=100)

root.mainloop()

文件要导入的功能在哪里:

from tkinter import *
root = Tk()

def import_def():
    root = Toplevel()
    root.geometry('1560x750')
    canvas2 = Canvas(root)
    canvas2.config(width=1000,bg='red')
    canvas2.grid(row=1,sticky=NW)

    button = Checkbutton(canvas2).place(x=170,y=230)
    AND_gate=PhotoImage(file='AND.png') #set up variables for and_gate
    labelimage_and = Label(canvas2,y=200)

root.mainloop()

解决方法

这是我知道如何在tkinter中导入文件和函数的方式,不确定这是否正确,但是请查看我对这两个文件所做的更改

main.py:

from tkinter import *
from function import import_def

root = Tk()
root.geometry('1560x750')

canvas=Canvas(root)
canvas.config(width=1000,height=1560,bg='light grey')
canvas.grid(row=1,column=3,rowspan=1550,ipadx=1300,ipady=750,sticky=NW)

def option_number(x):
    if x == "one":
        import_def()

variable = StringVar()
variable.set("options")
w = OptionMenu(canvas,variable,"one","two",command = option_number)
w.config(width=15,height=1,bg='blue')
w.place(x=400,y=100)

root.mainloop()

和function.py:

from tkinter import *

def import_def():
    root = Toplevel()
    root.geometry('1560x750')
    canvas2 = Canvas(root)
    canvas2.config(width=1000,bg='red')
    canvas2.grid(row=1,sticky=NW)

    button = Checkbutton(canvas2).place(x=170,y=230)
    AND_gate=PhotoImage(file='sad songs.jpg') #set up variables for and_gate
    labelimage_and = Label(canvas2,image=AND_gate).place(x=200,y=200)

    root.mainloop()

希望这对您有所帮助,请让我知道是否有任何疑问或错误。

欢呼

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。