canvas_root= tkinter. Canvas( root, width=800, height=600) im_root= get_image('窗口图片. jpg',800,600) canvas_root. create_image(400,300, image= im_root) canvas_root. pack( )
时间: 2024-03-14 09:50:12 浏览: 26
这段代码的作用是创建一个窗口,设置窗口大小为800x600,将一张名为"窗口图片.jpg"的图片放置在窗口中心,并将窗口显示出来。其中,get_image()是一个函数,用于获取图片并将其调整为指定大小。canvas_root是一个Canvas对象,用于在窗口中添加图形元素。pack()方法用于将该Canvas对象放置在窗口中。
相关问题
window = tk.Tk() window.title("三维显示系统登录界面") window.geometry("805x660") # 背景画布 import tkinter canvas = tk.Canvas(window,width=10250,height=100) img_gif = tkinter.PhotoImage(file='title3.gif') tkinter.Label(window, image=img_gif).place(relx=-0, rely=0) canvas.pack()sign_in_button = tk.Button(window,text="登录",command=sign_in_f) sign_up_button = tk.Button(window,text="注册",command=sign_up_f) sign_in_button.place(x=350,y=600) sign_up_button.place(x=470,y=600)加入文件调用按钮
下面是修改后的代码,加入了一个按钮,可以让用户选择文件:
```python
import tkinter as tk
from tkinter import filedialog
def sign_in_f():
pass
def sign_up_f():
pass
def open_file():
filename = filedialog.askopenfilename(initialdir="/", title="Select file",
filetypes=(("Text files", "*.txt*"), ("all files", "*.*")))
print(filename)
window = tk.Tk()
window.title("三维显示系统登录界面")
window.geometry("805x660")
# 背景画布
canvas = tk.Canvas(window, width=10250, height=100)
img_gif = tk.PhotoImage(file='title3.gif')
tk.Label(window, image=img_gif).place(relx=-0, rely=0)
canvas.pack()
# 登录和注册按钮
sign_in_button = tk.Button(window, text="登录", command=sign_in_f)
sign_up_button = tk.Button(window, text="注册", command=sign_up_f)
sign_in_button.place(x=350, y=600)
sign_up_button.place(x=470, y=600)
# 文件调用按钮
file_button = tk.Button(window, text="选择文件", command=open_file)
file_button.place(x=600, y=600)
window.mainloop()
```
在这个例子中,我们定义了一个新的函数`open_file()`,当用户点击文件按钮时,调用该函数打开文件对话框。当用户选择文件后,文件的路径会打印到控制台上。你可以根据需要修改`open_file()`函数的实现,以便在GUI中显示所选文件的路径。
class LoginFrame(tk.Frame): def init(self, master=None): super().init(master) self.master = master self.master.title('登录系统') self.master.geometry('300x200') # 读取图片并创建 Label 组件 image = Image.open('C:/Users/hp/Desktop/orginalmodel/orginalmodel/pic1.jpg') image = image.resize((70,70)) photo = ImageTk.PhotoImage(image) self.image_label = tk.Label(self.master, image=photo) self.image_label.image = photo # 防止图片被垃圾回收器回收 self.image_label.pack() self.username_frame = tk.Frame(self.master) self.username_frame.pack() self.username_label = tk.Label(self.username_frame, text='用户名 ') self.username_label.pack(side=tk.LEFT) self.username_entry = tk.Entry(self.username_frame) self.username_entry.pack(side=tk.LEFT) self.password_frame = tk.Frame(self.master) self.password_frame.pack() self.password_label = tk.Label(self.password_frame, text=' 密码 ') self.password_label.pack(side=tk.LEFT) self.password_entry = tk.Entry(self.password_frame, show='*') self.password_entry.pack(side=tk.LEFT) self.login_button = tk.Button(self.master, text='登录', command=self.login) self.login_button.pack() def login(self): username = self.username_entry.get() password = self.password_entry.get() if username == 'AAA' and password == '111': self.master.destroy() root = tk.Tk() app = MainFrame(root) app.mainloop() else: tk.messagebox.showerror('错误', '用户名或密码错误!')修改代码,使pic1.jpg作为界面背景图
可以使用`tkinter`的`Canvas`组件来实现界面背景图片的设置。以下是修改后的代码:
```python
class LoginFrame(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.master.title('登录系统')
self.master.geometry('300x200')
# 创建 Canvas 组件并添加背景图片
self.canvas = tk.Canvas(self.master, width=300, height=200)
self.canvas.pack()
image = Image.open('C:/Users/hp/Desktop/orginalmodel/orginalmodel/pic1.jpg')
image = image.resize((300, 200))
photo = ImageTk.PhotoImage(image)
self.canvas.create_image(0, 0, anchor='nw', image=photo)
self.canvas.image = photo
self.username_frame = tk.Frame(self.master)
self.username_frame.pack()
self.username_label = tk.Label(self.username_frame, text='用户名 ')
self.username_label.pack(side=tk.LEFT)
self.username_entry = tk.Entry(self.username_frame)
self.username_entry.pack(side=tk.LEFT)
self.password_frame = tk.Frame(self.master)
self.password_frame.pack()
self.password_label = tk.Label(self.password_frame, text=' 密码 ')
self.password_label.pack(side=tk.LEFT)
self.password_entry = tk.Entry(self.password_frame, show='*')
self.password_entry.pack(side=tk.LEFT)
self.login_button = tk.Button(self.master, text='登录', command=self.login)
self.login_button.pack()
def login(self):
username = self.username_entry.get()
password = self.password_entry.get()
if username == 'AAA' and password == '111':
self.master.destroy()
root = tk.Tk()
app = MainFrame(root)
app.mainloop()
else:
tk.messagebox.showerror('错误', '用户名或密码错误!')
```
这样就能够将`pic1.jpg`设置为登录界面的背景图片了。