如何解决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 举报,一经查实,本站将立刻删除。