PyS60 Uygulama Gelişimi – 2

Konu ile ilgili bir önceki yazımda uygulama yapısına bir göz atmıştık. Bu sefer bu yapının menü gibi bölümlerini inceleyeceğiz. Bilgisayar dünyasında yazılan çoğu uygulamada menüleri kullanmışsınızdır. Oyunları açtığınızda karşınıza çıkan bir menüdür, benim gibi firefox kullanıyorsanız sayfanızın üstünde menüler vardır. Windows kullananların “Başlat” menüsü vardır.Başlı başına bir sistem olan Symbian’da yazdığınız uygulamalarında birer menüye sahip olması kaçınılamaz bir durumdur.

PyS60 ile menüleri geliştirirken python’un tüp özelliğini kullanacağız. Her zaman dediğim gibi bu özelliği bilmeyen arkadaşlar çeşitli kaynaklardan araştırabilir ve tüpün ne olduğu öğrenebilirler, bu blogu eski versiyonundan beri takip edenler varsa onlar daha önce yazdığım veri çeşitleri konularını okumuş ve tüp bilgisine nail olmuşlardır 🙂

Şimdi bir uygulama yazalım ve içine bir menü yerleştirelim uygulamayı oldukça ufaltıcam; menüyle ilgilenelim:


import appuifw, e32

def selamlar():
appuifw.note(u"Selamlar size!")
def gitburdan():
appuifw.note(u"sevmiyorum seni git burdan!)
def quit():
print "Çıkış bu tarafta, defol!"
app_lock.signal()

appuifw.app.exit_key_handler = quit
appuifw.app.title = "Garipbirdurum"
appuifw.app.menu = [(u"bu bir tüp", selamlar),(u"başlık ve fonksiyon", gitburdan)]

app_lock = e32.Ao_lock()
app_lock.wait()

Bir önceki yazımızda benzer bir uygulama yazmıştık burada ekstradan menü seçeneği kullandık. Gördüğünüz gibi mesaj-fonksiyon şeklinde menülerimizi oluşturuyoruz. Daha önce bahsetmediğim sekmeler(tabs) bölümüde buna benzer bir gelişim sürecinde kullanılmakta orada yapmanız gereken appuifw.app.set tabs() fonksiyonunu kullanmak. Bu arada menü için bir kaç not belirteyim.
(başlık, callback) Bu normal menü
(başlık, ((title, callback)[… ])) Bu alt menü oluştururken kullanılıyor. (Kendiniz deneyin bakalım yapabilecekmisiniz)
Ekranın ayarlarınıda uygulamanız içersinde değiştirebilirsiniz bunun için aşağıdaki seçeneklerden birini uygulamanıza yerleştirmeniz gerekir. Daha fazla yapı öğesi için PyS60 dökümanına bakınız sonraki konularda belki başka yapı özelliklerini kullanırım.
appuifw.app.screen=’normal’ # (normal ekran, başlık, tuşlar…)
appuifw.app.screen=’large’ # (tuşlar gözükür)
appuifw.app.screen=’full’ # (full ekran)

Görüşmek dileğiyle, iyi bayramlar.