18 Eylül 2014 Perşembe

Tab menü

Tab menü bir dizi sekmeli sayfalar bütünüdür.Her bir sekme "altında" kendine has bir  sayfa  barındırır . Bu sayfalar farklı pecere araçalarıyla şekillendirilebilir. Sayfalar bağlanmış olduğu  sekmeye tıklanarak görüntülenebilir.Sekmeler üst kenar boyunca görüntülenir. İsteğe bağlı olarak, tab menü sekme olmadan da oluşturulabilir.


#3x serisi içindir
#! python3 
# -*- coding: utf-8 -*- 

from tkinter import *
from tkinter.ttk import Notebook #3x serisinde bu şekilde import ediliyor.

pencere = Tk()

pencere.columnconfigure(0, weight=1)#menümüzün pencereyle
pencere.rowconfigure(0, weight=1)   #hareket etmesini sağlıyoruz.

tabPanel = Notebook()

page = Frame(tabPanel, background="light green")#herbir başlık için
pagei = Frame(tabPanel, bg="white")#birer farme oluşturmamız şart.

b1 = Entry(page)#birinci başlığın entrisi
b1.grid(row=0, column=0, sticky="news")
b1.insert(0, "genel")

b2 = Entry(pagei)#ikinci başlığın entrisi
b2.grid(row=0, column=0, sticky="news")
b2.insert(0, "özel")

tabPanel.add(page, text='genel')#birinci başlık
tabPanel.add(pagei, text='özel')#ikinci başlık böyle tanımlanıyor
tabPanel.grid(row=0, column=0, sticky="news")#grid yönetcisini kullanıyoruz.

pencere.title("tab menü")
pencere.geometry("300x300")
pencere.mainloop()




aşağıdaki kodlarda sınıflı bir yapıya ait

#! python3
# -*- coding: utf-8 -*- 
from tkinter import *
from tkinter.ttk import Notebook#3x serisinde bu şekilde import ediliyor.

class Uygulama(Frame):
    def __init__(self, master, *args, **kw):
        Frame.__init__(self, master, *args, **kw)
        tabPanel = Notebook(master, style="")
        
        icerik = "Icerik %d"
        baslik = "Baslik %d"
        
        for i in range(10):
            page = Frame(tabPanel)
            
            sv = StringVar(value= icerik % i)
            lbl = Label(master=page, textvariable=sv, background="bisque")
            lbl.pack(expand=1,fill=BOTH)
            
            tabPanel.add(page, text=baslik % i)
        tabPanel.pack(expand=1, fill=BOTH)

root = Tk()
app = Uygulama(root)
root.geometry("500x500+200+200")
app.mainloop()


ayrıca tab menü ile ilgili istihza da ki bu başlığa da bakabilirsiniz. eğer ingilizceniz iyiyse şuradanda bilgi edinebilirsiniz.