Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để có hình ảnh và văn bản trong một nút trong Tkinter?

Chúng tôi có thể tải hình ảnh trong ứng dụng Tkinter bằng cách sử dụng PhotoImage (vị trí hình ảnh) , lấy vị trí hình ảnh làm tham số và hiển thị hình ảnh trên đối tượng cửa sổ. Tuy nhiên, khi chúng tôi cố gắng thêm một hình ảnh vào nút, nó thường xuất hiện trên nút trong khi ẩn văn bản nút. Do đó, để làm cho văn bản và hình ảnh của nút tương đối với nhau, chúng tôi thường sử dụng phức hợp bất động sản. Nó cần một trong bốn đối số vị trí - LEFT, RIGHT, TOP và BOTTOM, mỗi đối số xác định vị trí của hình ảnh trên nút.

Ví dụ

Trong ví dụ này, chúng tôi đã sử dụng hình ảnh này để làm cho nó có liên quan đến nút.

#Import tkinter library
from tkinter import *
from PIL import Image,ImageTk
#Create an instance of Tkinter frame or window
win= Tk()
#Set the geometry of tkinter frame
win.geometry("750x250")
#Define a function to close the window
def close_win():
   win.destroy()
#Load the image
image = Image.open('preview.png')
#Resize the Image
image = image.resize((50,50), Image.ANTIALIAS)
#Convert the image to PhotoImage
img= ImageTk.PhotoImage(image)
#Create a Label
Label(win, text="Click the below button to close the window",font=('Aerial 15 bold')).pack(pady=20)
#Create a label with the image
button= Button(win, text="Click Me",font= ('Helvetica 15 bold'),image=img, compound= LEFT, command=close_win)
button.pack()
win.mainloop()

Đầu ra

Đoạn mã trên sẽ hiển thị một cửa sổ chứa một nút có hình ảnh và nhãn văn bản. Khi chúng ta nhấp vào nút, nó sẽ đóng cửa sổ.

Làm thế nào để có hình ảnh và văn bản trong một nút trong Tkinter?