【发布时间】:2020-08-18 08:10:08
【问题描述】:
我正在使用 Tkinter 和 grid() 方法创建一个登录系统,但我不知道我可以将图像放在哪里。由于我没有使用类和函数,因此很容易嵌入图像的路径(img = PhotoImage(file = r"C:\\Users\\admin\\Desktop\\Foto\\Haken.png")img1 = img.subsample(10,10),但是,由于我是 Python 新手,我真的不知道在哪里放置路径代码更有条理时的代码。这是我尝试过的:
from tkinter import *
from tkinter.ttk import *
class Login_system(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Login System Prova")
Label(text = "Surname").grid(row=0, column=0, sticky=W, pady=2)
Label(text = "Your Password").grid(row=1, column=0, sticky=W, pady=2)
Label(text = "Your E-Mail").grid(row=2, column=0,sticky=W, pady=2)
Entry().grid(row = 0, column=1, pady=2)
Entry().grid(row = 1, column=1, pady=2)
Entry().grid(row = 2, column=1, pady=2)
Entry().grid(row = 3, column=1, pady=2)
Checkbutton(text = "Keep me on-line").grid(row = 4, sticky = W, columnspan= 1)
def main():
root = Tk()
root.geometry("200x150+400+300")
root.resizable(True, True)
global image
image = Frame.PhotoImage(file = r"C:\\Users\\admin\\Desktop\\Foto\\Haken.png")
app = Login_system(root)
root.mainloop()
if __name__ == "__main__":
main()
但我收到此错误:
Traceback (most recent call last):
File "C:\Users\admin\Desktop\Python\GUI APP\login_system_new.py", line 40, in <module>
main()
File "C:\Users\admin\Desktop\Python\GUI APP\login_system_new.py", line 34, in main
image = Frame.PhotoImage(file = r"C:\\Users\\admin\\Desktop\\Foto_Marco\\Haken.png")
AttributeError: type object 'Frame' has no attribute 'PhotoImage'
[Finished in 0.5s]
你有什么建议吗?我想把图片放在最右边的一列。
【问题讨论】:
-
删除
Frame.,只删除PhotoImage(file=...)。 -
我试过了。它没有给我任何错误,但是当窗口出现时,根本没有图像。
-
您的代码没有将图像放入窗口。您需要
Label或Canvas来显示图像。