tkinter de resim eklediğim pencereye buton da ekleyebilirmiyim yani resmin altında başka bir buton yapılandırabilirmiyim
Evet,yapabilirsiniz.Resim kodlarının altına buton kodlarını yazın.Ardından pack
, grid
veya place
ile yerleştirin.Tercih size kalmış
kodlar tamam fakat birleştirmesi nasıl olcak tam anlamadım iki farklı pencerede açılıyor pack veya grid ile yerleştirme nasıl olcak anlatabilirmisiniz
Resim dosyalarıyla çalışmak için önce PIL
kütüphanesini yüklemenizi tavsiye ederim.
pip install Pillow
Kodlarda kullandığım resim dosyası da şu:
Aşağıda da kodları görüyorsunuz.
import tkinter as tk
# Pillow kütüphanesinden Image ve ImageTk modüllerini
# programa aktarıyoruz.
from PIL import Image, ImageTk
root = tk.Tk()
# Image modülünde yer alan open fonksiyonuna
# açmak istediğimiz resmi yazıyoruz.
image = Image.open("image.jpg")
# image.size resmin genişlik ve yükseklik değerlerini
# içeren bir tuple verisi döndürür.
# w -> width'in kısaltılmışı
# h -> height'in kısaltılmışı
w, h = image.size
# canvas'ın yükseklik ve genişlik değerini bu resmin
# boyutları olarak ayarlıyorum.
canvas = tk.Canvas(master=root, width=w, height=h)
canvas.pack()
# Resmi tkinter'de görüntülemek için onu PhotoImage
# nesnesine dönüştürmemiz gerekiyor.
photo_image = ImageTk.PhotoImage(image)
# Resmi 0, 0 poziyonuna, kuzeybatıya yaslanmış bir şekilde
# ekrana yerleştiriyorum.
canvas.create_image(0, 0, image=photo_image, anchor="nw")
# Ebeveyn widgeti canvas olan bir tane çerçeve tanımlıyorum,
frame = tk.Frame(master=canvas)
# frame'i pack, grid veya place ile ekrana yerleştirmiyorum.
# Bu frame widgetine istediğimiz kadar widget ekleyebiliriz.
# Bu örnek için sadece tek bir button ekliyorum.
button = tk.Button(master=frame, text="hello")
button.pack()
# Frame widgetini resmin tam ortasına yerleştirmek için
# resmin genişlik ve yükseklik değerlerinin yarısını giriyorum.
# anchor da merkez olarak beliriyorum.
canvas.create_window(w // 2, h // 2, window=frame, anchor="center")
root.mainloop()
Aşağıdaki de ekran görüntüsü:
1 Beğeni
eyvallah ustam çok sağol yardımların için
Rica ederim kolay gelsin.