1

やあみんな Python の初心者で、テキスト ボックスに数字を表示するテンキーをやっています。

GUI は機能しますが、ボタンを押したいときに次のメッセージが表示されます。

トレースバック (最新の呼び出しが最後):

File "C:\Users\E-net\Documents\PythonT9\python.py", line 5, in press
    num = entry.Box.get_text()
AttributeError: 'gtk.Entry' object has no attribute 'Box'

そして、私はその理由を理解できません:(

コード

import gtk

def press(widget):

    num = entry.box.get_text()
    pnum = widget.get_label()
    entry.set_text(num+pnum)

def send_press(widget):
    print "dialing:" + entry.get_text()

win = gtk.Window()
win.connect('destroy', lambda w: gtk.main_quit())

box = gtk.VBox()
win.add(box)

entry = gtk.Entry()
box.pack_start(entry,False)

table = gtk.Table(2,2, gtk.TRUE)

a = [1,2,3,4,5,6,7,8,9,"#",0,"*"]
x = 0
y = 0

for i in a: 
    button = gtk.Button(str(i))
    button.connect("clicked",press)
    table.attach(button,x,x+1,y,y+1 )

    x+=1
    if x > 2:
        x = 0
        y+=1


box.pack_start(table)

send = gtk.Button("SEND")
send.connect("clicked",send_press)
box.pack_start(send)
win.show_all()

gtk.main()
4

1 に答える 1

0

非常に簡単なようです-変更するだけです:

num = entry.box.get_text()

num = entry.get_text()

ところで、pygtkのドキュメントを見ただけで、この「謎」をcca30秒で解決できたはずです。

于 2012-08-22T12:34:50.887 に答える