bende kapanıyor mtl
kodunu Windows platformunda çalıştıramıyorum. Form açılıyor ancak, butona tıkladığımda form kapanmıyor ve öylece kalıyor.Kod:#-*-coding:utf-8-*- from Tkinter import * pencere = Tk() dugme = Button(text="TAMAM", command = pencere.quit) dugme.pack() mainloop()
Pythonwin ve IDLE (Python GUI) ile de denedim olmadı. Yardımcı olabilir misiniz?
Saygılarımla...
bende kapanıyor mtl
Valla tekrar denedim gene olmadı. Bakalım bilgisayarımı yeniden başlatıp, sonra tekrar deneyeceğim.
Eğer idle deyken F5 tuşuna basıpta çalıştırırsan kapanmaz. Uzantıyı pyw yap ve çift tıklayıp aç o zaman kapanır.
Ben bu kodları metin belgesinde yazıp "py" uzantılı dosya olarak kaydetmiştim. Sonra import ile modülü çalıştırıyordum. Yani doğrudan F5 ile çalıştırmamıştım. Tam bilemiyorum belki bu yaptığım F5 e basmakla aynı şeydir.
Melen, yazdığınız gibi pyc uzantılı dosyaya çift tıklayınca form kapanıyor.
ama yinede problemin çözümünü tam anlamış değilim. (Yani diğer yoldan neden olmadı?)
Sorun bence tamamen IDLE ile alakalıdır.
Bu uygulamayı tkinter, pygtk, pyqt , wxpython...Ne ile yaparsanız yapın IDLE ile python uygulamanızı kapatmaya çalıştığınızda "Tamamen kapatmak istiyormusunuz diye Evet Hayır " seçenekli pencere gelir.
Yukarıdaki uygulamada programı tamamen kapatma kodu eksiktir. Dolayısıyla tamama ilk basışınızda IDLE yi kapatamıyor(bahsi geçen soruyu sormuyor yani). Normalde IDLE'de programı çarpı butonundan kapatınca bir hata iletisi de vermesi gerekirken onu da vermiyor. Bunun da nedeni kapatma kodunun girilmemesidir diye düşünüyorum. Bu hata iletisi ise programı tamamen kapatmaya çalışan kodla alakalıdır.
Bahsi geçen kod sys.exit() şeklinde en sona yazılarak uygulanabilir.
Biz, Bize Gerici Diyenlere Ancak "Deh" Demek İçin Gerideyiz!..
(Necip Fazıl Kısakürek)
Muallim-i Âli, yazdığınız satırı yukarıdaki gibi ekledim ama herhalde yanlış yere koydum. Çalıştırdığımda aşağıdaki hatayı verdi.Kod:#-*-coding:utf-8-*- from Tkinter import * import sys pencere = Tk() dugme = Button(text="TAMAM", command = pencere.quit) dugme.pack() mainloop() sys.exit()
Kod:Firing event 'ProcessEnter' failed. Traceback (most recent call last): File "C:\Python25\Lib\site-packages\pythonwin\pywin\scintilla\bindings.py", line 141, in fire rc = apply(binding.handler, args) File "C:\Python25\Lib\site-packages\pythonwin\pywin\framework\interact.py", line 478, in ProcessEnterEvent if self.interp.runsource(source, "<interactive input>"): # Need more input! File "C:\Python25\lib\code.py", line 87, in runsource self.runcode(code) File "C:\Python25\Lib\site-packages\pythonwin\pywin\framework\interact.py", line 257, in runcode exec code in self.globals, self.locals File "<interactive input>", line 1, in <module> File "C:\Python25\lib\deneme04.py", line 8, in <module> sys.exit() SystemExit
Kodlarınızda bir sorun yok. sys.exit() vs. kullanmasanız bile hata yok.
IDLE yada Pythonwin ile mi test ediyorsunuz. Bence bu ikisi de test için uygun değil. En azından bazı şeyleri gereksiz yere hata olarak söylemeleri test için uygun olmadığını kanıtlar. Gerek windows gerek linux için her zaman Eclipse IDE yi tavsiye ederim :
http://forum.ceviz.net/eclipsede-pyt...de-t52873.html
Biz, Bize Gerici Diyenlere Ancak "Deh" Demek İçin Gerideyiz!..
(Necip Fazıl Kısakürek)
Muallim-i Âli, zaten önceden Eclipse-PyDev ile ilgili tavsiye yazınızı okuyup Eclipse 'yi kurmuştum. Ama Python 'u daha öğrenme aşamasında olduğum için ve denediğim kodların basit olasından dolayı, Eclipse 'de kodları yazmaya açıkçası üşendim. Ama şimdi kodları Eclipse 'de denedim hata çıkmadı.
İlginize teşekküler.
pencere.mainloop()
yapsak en sonunu?
şeklinde.Kod:#-*-coding:utf-8-*- from Tkinter import * pencere = Tk() dugme = Button(text="TAMAM", command = pencere.quit) dugme.pack() pencere.mainloop()
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks