Tkinterda daire şeklinde buton nasıl yapılır

Tkinterda daire şeklinde buton nasıl yapılır?

.png uzantılı bir resim ile yapılır herhalde

Aramıza hoş geldiniz :slight_smile:

Maalesef,tkinter’da daire şeklinde buton yapılamıyor.Ancak yapmanın yolları var:

  1. 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 :slight_smile:

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.

2 Beğeni

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ı:

ok

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ü:

2020-09-03 21-26-39 ekran görüntüsü

3 Beğeni

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.