Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Python / Zope

Cevapla
 
LinkBack Seçenekler
Eski 13/08/2008, 15:56   #1 (permalink)
Üye
 
sorunbende Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 08/2008
Mesaj: 17
Varsayılan Tkinter penceresi nasıl yenileniyor ?

Merhaba,

bir kaç gündür Tkinter ile yoğun olarak çalışıyorum baya yordu beni

sorum açık olmamış olabilir. Şu şekilde izah ediyim.

Tkinter ile bir pencere oluşturduk. program ilk açılırken __init__ e giriyor ve pencere yerleşiyor. Bu kısım tamam. Örneğin pencerede bir buton var. Bu butona tıklayınca da buton koordinatları yer değişiyor. Şimdi ben Tkinter penceresini oluştururken __init__ içinde o butonu ve özellikleri tanımladım. O butona tıklanınca hangi fonksiyon çalışacak onu söyledim. Tıklayınca o çalıştı. Şimdi tıklayınca o fonksiyon çalıştığına göre __init__ e girmiş gibi gözüküyor uzaktan ama aslında girmiyor. Fakat __init__ e girmeden yeni koordinatları ile pencerede yerleşiyor. Bu ikinci pencere düzenini yapan kim?

sonra tkinter penceresini mainloop ile çağırdığımızda tkinter ın hangi fonksiyonu çağrılmış oluyor. ekranda gözükebilmesi için?

sorum tam açıklayıcı değil biliyorum. Konu kendi kafamda bile tam oturtamadım. Belki şöyle söylesem daha kolay olur.

pencerenin üzerindeki buton her 1 saniye sağa doğru 1 piksel gitmesi için nasıl bir kod yazmalıyım?

Evet sanki bu daha açık oldu. Gerçi ben işin arka planını sordum ama belki benim bu soruma göndereceğiniz cevap arka planda neler döndüğünü daha iyi anlatabilir.
sorunbende hatta değil   Alıntı Yaparak Yanıtla
Eski 15/08/2008, 00:50   #2 (permalink)
Üye
 
sorunbende Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 08/2008
Mesaj: 17
Varsayılan

sorunumu halettim ama kafama tam oturmadı. oturunca nasıl yapıldığını burada örnek ile açıklarım tabi benden önce başka biri daha yazmazsa
sorunbende hatta değil   Alıntı Yaparak Yanıtla
Eski 17/09/2008, 14:37   #3 (permalink)
Üye
 
Üyelik Tarihi: 06/2008
Mesaj: 5
Varsayılan

Sen 1 saniye demişsin ama öle çok yavaş oluyodu ben biraz daha hızlandırdım.

from Tkinter import *
import time

def bitir():
i=20
while(i<200):
ana.update()
time.sleep(0.05)
dugme.place(x=i,y=50)
i=i+1


ana=Tk()
dugme=Button(text="tamam",command=bitir)
dugme.place(x=20,y=50)
ana.mainloop()
mumi hatta değil   Alıntı Yaparak Yanıtla
Eski 18/09/2008, 02:34   #4 (permalink)
Üye
 
Kragen Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 09/2008
Yer: İstanbul
Mesaj: 16
Varsayılan

Tam aynı sorun değil ama Tkinter penceresini bende yenilettiremiyorum.
http://docs.python.org/lib/genindex.html#letter-_

kütüphanesinden incelediğim kadarıyla birkaç yöntem buldum. Hiçbiriyle istediğim sonucu alamadım.

redrawwin() 'in tüm pencereyi yeniyeleyeceği söyleniyor misal, olmuyor işe yaramadı.
refresh()
noutrefresh()
doupdate()

Bunlar da işe yaramadı. Birkaç forumda daha Refresh'i çalıştıramayanlar yazışmış. Bir tanesi "self.SendSizeEvent()" ile form'un refresh olduğunu söylemiş ama o da işe yaramadı bende.

Bu konuda bir fikri olan var mı?
Kragen hatta değil   Alıntı Yaparak Yanıtla
Eski 18/09/2008, 12:12   #5 (permalink)
Üye
 
Üyelik Tarihi: 06/2008
Mesaj: 5
Varsayılan

Yukarıdaki programda kullandığım update 'i denedin mi acaba?
mumi hatta değil   Alıntı Yaparak Yanıtla
Eski 18/09/2008, 19:43   #6 (permalink)
Üye
 
Kragen Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 09/2008
Yer: İstanbul
Mesaj: 16
Varsayılan

Onu da denedim, farklı kombinasyonlarla epey deneme yaptım, olmadı. Eclipse'de yazıyorum. Orada root yazıp "." koyunca çıkan pencereyi inceledim "update()" harici bir olayı da yok görünürde root'un. Diğer hazır fonksiyon kütüphanesinden aldığımız fonksiyonları yanlış mı kullanıyorum acaba.

Kod şöyle çalışıyor, çok iyi değilim, saçma bir yaklaşım olabilir, başka türlüsü aklıma gelmedi
Yazılan bir programa dil seçimi eklemek istedim. Programın klasöründe "dil.txt" diye bir dosya var, tek satır, içerisinde "tr" ya da "eng" yazıyor olacak, program başlarken hangisi yazıyorsa ona göre menüleri yazdıracak. buraya kadar sorun yok. Ancak program çalışırken dil değişimi yapıldığında pencerenin yeniden yüklenmesi lazım ki değişen dil seçimine göre menü yazıları seçilen dile çevrilebilsin.

Buraya aktarınca girintisi çıkıntısı bozuldu tabi. Kabaca düzeltmeye çalıştım ama olmadı pek.

Alıntı:
#-*- coding:iso-8859-9 -*-

from Tkinter import *
class
deneme:

def __init__(self, master):

dilsecim = open("dil.txt","r")

dil=dilsecim.readline()


if dil == "tr":

dm_0="Dil"
dm_1=u"Türkçe"

dm_2=u"İngilizce"

if dil == "eng":

dm_0="Language"
dm_1="Turkish"

dm_2="English"


menu = Menu(master)
master.config(menu=menu)

dilmenu = Menu(menu, tearoff=0)

menu.add_cascade(label=dm_0, menu=dilmenu)
dilmenu.add_command(label=dm_1, command=self.dil_tr)



dilmenu.add_command(label=dm_2,
command=self.dil_eng)


def dil_tr(self):

dilkayit_tr = open("dil.txt","w")
dilkayit_tr.write("tr")
dilkayit_tr.close()
root.update()


def dil_eng(self):

dilkayit_eng = open("dil.txt","w")
dilkayit_eng.write("eng")
dilkayit_eng.close()
root.update()

root = Tk()

root.geometry("200x150")
root.title("Deneme")


app = deneme(root)

root.mainloop()


Kragen hatta değil   Alıntı Yaparak Yanıtla
Eski 18/09/2008, 21:22   #7 (permalink)
Üye
 
Kragen Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 09/2008
Yer: İstanbul
Mesaj: 16
Varsayılan

Sorunu çözdüm.
"root.update()" yerine "deneme(root)" ile istediğimi gerçekleştirdim.
Kragen hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
applet sürekli yenileniyor mu dereckfun Java / JSP 3 08/01/2008 18:14
Tkinter Nedir?Ne değildir?İçinde neler var?Nasıl Kullanılır? spy_scorpion Python / Zope 5 28/05/2007 07:41
Tkinter gibi dusunmek (Thinking in Tkinter) acemi Python / Zope 0 06/05/2005 19:14
tkinter hayal Python / Zope 3 13/12/2004 17:57


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 03:03.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net