[Çözüldü] Tkinter Entry'yi .get() yapamıyorum

Başlatan mahsusfirar, 06 Haziran 2010 - 22:39:37

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

mahsusfirar

Python 2.6 Kullanıyorum.
Yazdığım kod:
#-*-coding:utf-8-*-
from Tkinter import *
ana = Tk()
def islem():
cek = giris.get()
yaz = Label(ana,text='Yazı : '+cek).pack()

giris = Entry(ana).pack()
bas = Button(ana,text='Bas',command=islem).pack()
cikis =Button(ana,text='Çıkış',command=ana.destroy).pack()
ana.mainloop()



Aldığım hata :

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 1413, in __call__
    return self.func(*args)
  File "isimsiz.py", line 5, in islem
    cek = giris.get()
AttributeError: 'NoneType' object has no attribute 'get'


Yardımcı olursanız sevinirim

hitokiri

#!/usr/bin/env python
#-*-coding:utf-8-*-
from Tkinter import *
ana = Tk()
def islem():
   cek = giris.get()
   print cek
   yaz = Label(ana,text='Yazı : '+cek).pack()
giris = Entry()
giris.pack()
bas = Button(ana,text='Bas',command=islem).pack()
cikis =Button(ana,text='Çıkış',command=ana.destroy).pack()
ana.mainloop()

tamamdır :)

mahsusfirar

Cevabın için teşekkür ederim problem çözüldü fakat problemin nerde olduğunu anlayamadım.

Bunu yazmadığım içinmiymiş :

#!/usr/bin/env python

hitokiri

hayır ,
giris = Entry()
giris.pack()

burası Entry(width=10 ) için bilgi olarak boyut seçeneği var yani onu (ana) diye eklemek hata vermiş ,
http://www.istihza.com/tk2/penar1.html#entry-pencere-araci



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 07 Haziran 2010 - 10:22:13

#!/usr/bin/env python
#-*-coding:utf-8-*-
from Tkinter import *
ana = Tk()
def islem():
   cek = giris.get()
   yaz = Label(text='Yazı : '+cek).pack()

giris = Entry()
giris.pack()
bas = Button(text='Bas',command=islem).pack()
cikis =Button(text='Çıkış',command=ana.destroy).pack()
ana.mainloop()

giris = Entry().pack()
böyle ekleyince de hata veriyor , ana eklemesine de gerek yokmuş :)
Çokta iyi bilmiyorum tk yı umarım  yardımım dokunmutr :))

mahsusfirar

Entry() aracı mecburen alması gerekiyor.Yoksa Toplevel() kullanımında sıkıntı oluyor.

Bu şekilde çalışıyor mesela Entry(ana) koydum:

#!/usr/bin/env python
#-*-coding:utf-8-*-
from Tkinter import *
ana = Tk()
def acpen():
global pengiris
pencere = Toplevel()
pengiris = Entry(pencere)
pengiris.pack()
cikispen =Button(pencere,text='Çıkış',command=pencere.destroy).pack()

def islem():
   cek = giris.get()
   print cek
   yaz = Label(ana,text='Yazı : '+cek).pack()
giris = Entry(ana)
giris.pack()
bas = Button(ana,text='Bas',command=islem).pack()
yenipen = Button(ana,text='Pencere aç',command=acpen).pack()
cikis =Button(ana,text='Çıkış',command=ana.destroy).pack()
ana.mainloop()

hitokiri

#!/usr/bin/env python
#-*-coding:utf-8-*-
from Tkinter import *
ana = Tk()
def acpen():
   global pengiris
   pencere = Toplevel()
   pengiris = Entry(pencere)
   pengiris.pack()
   cikispen =Button(pencere,text='Çıkış',command=pencere.destroy).pack()

def islem():
   cek = giris.get()
   print cek
   yaz = Label(text='Yazı : '+cek).pack()
giris = Entry()
giris.pack()
bas = Button(text='Bas',command=islem).pack()
yenipen = Button(text='Pencere aç',command=acpen).pack()
cikis =Button(text='Çıkış',command=ana.destroy).pack()
ana.mainloop()

heim haklısın ama ana ya yine gerek yok :D
cidden pek fazla bildiğim bir konu değil ,
Peki sorun çözüldü diyebilirmiyiz ?
:)

mahsusfirar

Teşekkür ederim sorun çözüldü hitokiri :)

hitokiri

Alıntı YapTeşekkür ederim sorun çözüldü hitokiri :)
Geçmiş olsun yardımcı olabildiysek ne mutlu :)