Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะมีรูปภาพและข้อความในปุ่มเดียวใน Tkinter ได้อย่างไร?


เราสามารถโหลดรูปภาพในแอปพลิเคชัน Tkinter โดยใช้ PhotoImage(ตำแหน่งรูปภาพ) ฟังก์ชัน ซึ่งใช้ตำแหน่งรูปภาพเป็นพารามิเตอร์ และแสดงรูปภาพบนวัตถุหน้าต่าง อย่างไรก็ตาม เมื่อเราพยายามเพิ่มรูปภาพลงในปุ่ม โดยทั่วไปแล้ว จะปรากฏบนปุ่มในขณะที่ซ่อนข้อความของปุ่ม ดังนั้น ในการทำให้ข้อความของปุ่มและรูปภาพสัมพันธ์กัน เรามักจะใช้ สารประกอบ คุณสมบัติ. ใช้อาร์กิวเมนต์ตำแหน่งหนึ่งในสี่ข้อ – LEFT, RIGHT, TOP และ BOTTOM โดยแต่ละรายการจะกำหนดตำแหน่งของรูปภาพบนปุ่ม

ตัวอย่าง

ในตัวอย่างนี้ เราใช้รูปภาพนี้เพื่อให้สัมพันธ์กับปุ่ม

#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()

ผลลัพธ์

รหัสด้านบนจะแสดงหน้าต่างที่มีปุ่มที่มีรูปภาพและป้ายข้อความ เมื่อเราคลิกปุ่ม มันจะปิดหน้าต่าง

จะมีรูปภาพและข้อความในปุ่มเดียวใน Tkinter ได้อย่างไร?