[英]My image doesnt scale to its right pixel
要尋求幫助,因為這讓我現在瘋了。 背景圖片似乎不適合我的窗口大小。 看不到我的代碼中缺少的內容。 我嘗試過更改一些x和y以及其他參數,也嘗試過搜索,但仍然無法正常工作。 謝謝!
import Tkinter as tk
from Tkinter import *
import ttk
from PIL import Image, ImageTk
def callback():
mainmenu.deiconify
def genkeymenu():
mainmenu.withdraw()
generatemenu = tk.Toplevel(mainmenu)
bg1 = ImageTk.PhotoImage(file="key2.jpg")
background_label = ttk.Label(generatemenu, image=bg1)
background_label.place(x=0, y=0, relwidth=1, relheight=1)
background_label.image = bg1
keynamelabel = ttk.Label(generatemenu, text="Enter your key name")
keynameEntry = ttk.Entry(generatemenu)
keynameButton = ttk.Button(generatemenu, text="Enter")
check1024= Checkbutton(generatemenu, text="1024 bit")
check2048= Checkbutton(generatemenu, text="2048 bit")
check4096= Checkbutton(generatemenu, text="4096 bit")
background_label.pack()
keynamelabel.pack()
keynameEntry.pack()
keynameButton.pack()
check1024.pack()
check2048.pack()
check4096.pack()
generatemenu.title("Generate Key")
ttk.eval('tk::PlaceWindow %s center' % generatemenu.winfo_pathname(generatemenu.winfo_id()))
generatemenu.mainloop()
class Buttons:
def __init__(self, buttons):
self.buttons = buttons
self.genkeybutton = Button(buttons, text= "Generate Key Pair", fg="black", command=genkeymenu)
self.id = buttons.create_window(50, 100, width=0, height=0,window=self.genkeybutton)
mainmenu = tk.Tk()
mainmenu.minsize(width=600, height=400)
imgpath = "key.jpg"
img=Image.open(imgpath)
img=img.resize((600,400), Image.ANTIALIAS)
photo = ImageTk.PhotoImage(img)
buttons = tk.Canvas(mainmenu)
buttons.pack()
buttons.create_image(0, 0, image=photo)
Buttons(buttons)
mainmenu.title("RSA ENCRYPTION")
#mainmenu.wm_attributes('-type', 'splash')
#mainmenu.eval('tk::PlaceWindow %s center' %
mainmenu.winfo_pathname(mainmenu.winfo_id()))
mainmenu.mainloop()
這是我有問題的代碼部分:
class Buttons:
def __init__(self, buttons):
self.buttons = buttons
self.genkeybutton = Button(buttons, text= "Generate Key Pair", fg="black", command=genkeymenu)
self.id = buttons.create_window(50, 100, width=0, height=0,window=self.genkeybutton)
mainmenu = tk.Tk()
mainmenu.minsize(width=600, height=400)
imgpath = "key.jpg"
img=Image.open(imgpath)
img=img.resize((600,400), Image.ANTIALIAS)
photo = ImageTk.PhotoImage(img)
buttons = tk.Canvas(mainmenu)
buttons.pack()
buttons.create_image(0, 0, image=photo)
Buttons(buttons)
mainmenu.title("RSA ENCRYPTION")
#mainmenu.wm_attributes('-type', 'splash')
#mainmenu.eval('tk::PlaceWindow %s center' %
mainmenu.winfo_pathname(mainmenu.winfo_id()))
mainmenu.mainloop()
這是問題的屏幕截圖:
代替此:
imgpath = "key2.jpg"
img=Image.open(imgpath)
img=img.resize((600,400), Image.ANTIALIAS)
photo = ImageTk.PhotoImage(img)
做這個 :
imgpath = PhotoImage(file="key2.jpg")
img = Label(mainmenu, image=imgpath)
img.place(x=0, y=0, relwidth=1, relheight=1)
它將覆蓋背景。然后對此進行評論,以查看正在談論的#buttons.create_image(0, 0, image=img)
最好還是在畫布上做圖像
buttons = tk.Canvas(mainmenu)
buttons.pack()
buttons.create_image(0, 0, image=imgpath)
Buttons(buttons)
完整代碼如下
import Tkinter as tk
from Tkinter import *
import ttk
from PIL import Image, ImageTk
def callback():
mainmenu.deiconify
def genkeymenu():
mainmenu.withdraw()
generatemenu = tk.Toplevel(mainmenu)
bg1 = ImageTk.PhotoImage(file="key2.jpg")
background_label = ttk.Label(generatemenu, image=bg1)
background_label.place(x=0, y=0, relwidth=1, relheight=1)
background_label.image = bg1
keynamelabel = ttk.Label(generatemenu, text="Enter your key name")
keynameEntry = ttk.Entry(generatemenu)
keynameButton = ttk.Button(generatemenu, text="Enter")
check1024= Checkbutton(generatemenu, text="1024 bit")
check2048= Checkbutton(generatemenu, text="2048 bit")
check4096= Checkbutton(generatemenu, text="4096 bit")
background_label.pack()
keynamelabel.pack()
keynameEntry.pack()
keynameButton.pack()
check1024.pack()
check2048.pack()
check4096.pack()
generatemenu.title("Generate Key")
ttk.eval('tk::PlaceWindow %s center' %
generatemenu.winfo_pathname(generatemenu.winfo_id()))
generatemenu.mainloop()
class Buttons:
def __init__(self, buttons):
self.buttons = buttons
self.genkeybutton = Button(buttons, text= "Generate Key Pair", fg="black", command=genkeymenu)
self.id = buttons.create_window(50, 100, width=0, height=0,window=self.genkeybutton)
mainmenu = tk.Tk()
mainmenu.minsize(width=600, height=400)
imgpath = PhotoImage(file="key2.jpg")
img = Label(mainmenu, image=imgpath)
img.place(x=0, y=0, relwidth=1, relheight=1)
buttons = tk.Canvas(mainmenu)
buttons.pack()
buttons.create_image(0, 0, image=imgpath)
Buttons(buttons)
mainmenu.title("RSA ENCRYPTION")
#mainmenu.wm_attributes('-type', 'splash')
#mainmenu.eval('tk::PlaceWindow %s center' %
mainmenu.winfo_pathname(mainmenu.winfo_id())
mainmenu.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.