如何访问PhotoImage()类对象的宽度和高度信息?我试着PhotoImage(...).winfo_width()和PhotoImage(...)["Width"].他们俩都没用.
我正在尝试将图像放入带有ImageTk和的窗口中PhotoImage。下面是代码:
import tkinter as tk
import random as r
from PIL import ImageTk, Image
window = tk.Tk()
HEIGHT = window.winfo_screenwidth()
WIDTH = window.winfo_screenheight()
RESOL = str(str(HEIGHT) + "x" + str(WIDTH+7) + "+" + str(-7) + "+" + str(0))
window.geometry(RESOL)
x = int(HEIGHT)/2
y = int(WIDTH)/2
updatex = HEIGHT + (0.6 * HEIGHT)
main = tk.Frame(window, height = WIDTH, width = HEIGHT)
main.configure(bg = "white", highlightthickness = 0)
main.place(x = x, y = y, anchor = "center") …Run Code Online (Sandbox Code Playgroud) 我正在尝试将图像添加到树视图上每一行的第一列,但无论我做什么,总是以显示的对象名称“pyimage1”而不是实际图像结束。 正如这张图片所示
我正在使用的代码是这样的。
from tkinter import PhotoImage.
self._img = PhotoImage(file="resources\information_picto.gif")
self.tree.insert('', 'end', values= self._image,self.name, self.status, self.cores, self.turn, self.added_time)
Run Code Online (Sandbox Code Playgroud)
我用 png 尝试过,结果相同,我知道我的图像对象已正确创建,因为在调试时我可以看到图像的属性,但我不能让它显示在树视图行上。
编辑:
def __init__(self, master, **kw):
self.SortDir = True
f = ttk.Frame(master)
f.pack(fill=BOTH, expand=True)
self.dataCols = ('Project Name', 'Status', 'Cores', 'Turn', 'Added date/time')
self.tree = ttk.Treeview(columns=self.dataCols,
show='headings')
self.tree.column("Project Name", anchor="center")
self.tree.grid(in_=f, row=0, column=0, sticky=NSEW)
f.rowconfigure(0, weight=1)
f.columnconfigure(0, weight=1)
style = ttk.Style(master)
style.configure('Treeview', rowheight=38)
self._img = PhotoImage(file="resources\information_picto.gif")
self.tree.insert('', 'end', text="#0's text", image=self._img,
value=("A's value", "B's value"))
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用上面的代码,它与您的非常相似,但我找不到我的错误,但是我看到“文本”或“图像”字段出现在行上,只是我的值列表作为“价值”传递,有什么想法吗?
我试图在 tkinter.PhotoImage 对象中放置一个用 PIL 调整大小的图像。
import tkinter as tk # I use Python3
from PIL import Image, ImageTk
master = tk.Tk()
img =Image.open(file_name)
image_resized=img.resize((200,200))
photoimg=ImageTk.PhotoImage(image_resized)
Run Code Online (Sandbox Code Playgroud)
但是,当我后来尝试打电话时
photoimg.put( "#000000", (0,0) )
Run Code Online (Sandbox Code Playgroud)
我得到一个
AttributError: 'PhotoImage' object has no attribute 'put'
Run Code Online (Sandbox Code Playgroud)
虽然这个:
photoimg=tk.PhotoImage(file=file_name)
photoimg.put( "#000000", (0,0))
Run Code Online (Sandbox Code Playgroud)
不会引发错误。我究竟做错了什么?
我正在尝试在 Tkinter GUI 中创建一个天气应用程序。它运行良好。我想为其添加背景图像,但它不会显示。最初我在没有参考线的情况下做到了这一点,但它不起作用。在一些网站上,他们说要保留图像的参考,但这也不起作用。另外,我的 Tkinter 窗口大小是 1920x1080,图像尺寸相同,但仍然不显示。我尝试减小图像大小而不是窗口大小,但仍然不起作用。任何建议都被接受。也没有错误。
bg = PhotoImage('clearsky2.jpg')
bgl = Label(gui,image=bg)
bgl.image = bg #given a reference
bgl.place(x=0, y=0, relwidth=1,relheight=1)
bgl.pack()
Run Code Online (Sandbox Code Playgroud) 我尝试插入格式为 .jpg 的图片作为 PhotoImage
但每次我尝试运行该程序时,都会出现以下错误:
无法识别图像文件中的数据
但是 .png 图片永远不会发生这种情况,这让我想知道 .png 是否是 tkinter 中唯一可接受的格式?