Tkinterda daire şeklinde buton nasıl yapılır?
.png uzantılı bir resim ile yapılır herhalde
Aramıza hoş geldiniz
Maalesef,tkinter’da daire şeklinde buton yapılamıyor.Ancak yapmanın yolları var:
- Adım :
Daire.png
adında bir fotoğrafımız olsun.Buraya tıklayarak örnek bir fotoğraf indirebilirsiniz.Ardından fotoğraf dosyası ile proje dosyanızı aynı yere getirin.Ve proje dosyanıza şunları yazın :
from tkinter import *
from tkinter.ttk import *
ekran = Tk()
daire = PhotoImage(file = r"Daire.png") #Burada resmi projeye aktarıyoruz.
tuş = Button(image = daire)
tuş.pack()
ekran.mainloop()
Bu kadar
Maalesef bu kadar değil. Kendi yazdığınız kodları bir çalıştırın, ekranı tam ekran yapın ve nasıl bir görüntü aldığınıza bir bakın isterseniz.
Ayrıca, from tkinter import *
ifadesi ile from tkinter.ttk import *
ifadesini aynı anda çalıştırırsanız, hem tkinter
hem de tkinter.ttk
’da aynı isimle yer alan widgetlerden sadece tkinter.ttk
’da olanları kullanabileceksiniz.
Cevabınız için teşekkür ederim ama buton yine dikdörtgen şeklinde oluyo ama yine de sağol
PIL
kütüphanesini kullanmanızı öneririm. Hem bir çok resim formatı kullanabilirsiniz hem de resimler üzerinde oynamalar da yapabilirsiniz.
pip install pillow
Resim dosyası:
Kodlar:
import tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
root.geometry("200x200")
img = Image.open("ok.png")
image = ImageTk.PhotoImage(img)
button = tk.Button(
image=image,
borderwidth=0,
highlightthickness=0,
activebackground=root["bg"]
)
button.pack()
root.mainloop()
Ekran görüntüsü:
Telefondan yazmasaydım kesinlikle bakardım.Sizin yazdığınız gibi pillow kullanacaktım ama nedense photo image yazmışım.Stack overflow’da öyle bir cevap vardı.Kusuruma bakmayın.