18 Kasım 2014 Salı

Separator

Resim 1: Separator
Separator tkinter grafik arayüzün’de bir pencere içerisinde gösterilecek olan birden fazla pencere aracını bir birinden yatay veya dikey olarak ayırmak için kullanılan bir pencere aracıdır. Bu araçta diğer pencere araçları gibi belli parametreler alır. ttk.Separator fonksiyonu iki parametre alır bunlarda birincisi konumlandırılacağı yer pencere, Toplevel, frame vb. eğer konumlandırılacağı yeri belirtmezseniz pencere üzerine konumlanır. İkinci parametre ise "orient"dir. bu parametre iki değer alır bunlardan ilki "HORIZONTAL" ("yatay") ikincisi ise "VERTICAL" ("dikey"). "orient" parametresinin ön tanımlı değeri "HORIZONTAL" dır . Bu yüzden orient isimli parametresi kullanılmazsa ayırıcımız(Separator) yatay olarak oluşacaktır. Tek başına kullanıldığında pencerede neredeyse görünmezdir. Ama frame , label, entry, Checkbutton vb. araçlarla kullanılırsa aracın boyutu kadar yatay veya dikey olarak oluşur.
Ayırıcı ttk.Separator fonksiyonu kullanılarak oluşturulur:

s = ttk.Separator()

Basit bir şekilde aşağıdaki gibi pencere içerisinde kullanılabilir.

#! python3
# -*- coding: utf-8 -*-
from tkinter import *
import tkinter.ttk as ttk
pencere = Tk()
s = ttk.Separator()
s.grid()
pencere.mainloop()

Gördüğünüz gibi bu kodlar hata vermeden çalışmasına rağmen ayırıcımız nerdeyse belli belirsiz bir nokta gibidir. Belki de çoğumuz bu noktayı görememiş olabilir. Daha öncede dediğimiz gibi bu pencere aracı tek başına kullanılmak için oluşturulmamıştır. Aşağıdaki kodlarda yukardaki kodlardan pekte farklı değildir.

#! python3
# -*- coding: utf-8 -*-
from tkinter import *
import tkinter.ttk as ttk
pencere = Tk()
s = ttk.Separator(pencere, orient=HORIZONTAL)
s.grid(row=0, column=0, sticky="news",  pady=5, padx=5)
pencere.mainloop()

Panedwindow

Panedwindow iki veya daha fazla pencere aracını üst üste veya alt alta (veya sol ve sağ) yerleşimini sağlar . Her bölmesine göre yükseklikleri veya genişlikleri ayarlanabilir.

panedwindow ttk.Panedwindow fonksiyonu kullanılarak oluşturulur:

Aşağıdaki kodlar basit bir panedwindow örneğidir.


from tkinter import *
import tkinter.ttk as ttk
pencere = Tk()

p = ttk.Panedwindow(pencere, orient=VERTICAL)

f1 = ttk.Labelframe(p, text="birinci çerçeve", width=100, height=100)
f2 = ttk.Labelframe(p, text="ikinci çerçeve" , width=100, height=100)

p.grid(row=0, column=0, sticky="news",  pady=5, padx=5)
p.add(f1)
p.add(f2)

pencere.title("Labelframe ve Panedwindow kullanımı")
pencere.mainloop()