2013-08-27 5 views
0

Во-первых - предупреждение Noob! Я пытаюсь создать графический интерфейс с использованием Python 3.2.3 и tkinter. Мне нужен «массив» масштабных виджетов, но я не могу понять, как вернуть значения, за исключением создания виджета масштаба по одному и наличия отдельной функции для каждой из них, вызванной ее «командой», передающей " вар». Я могу закодировать бит создания виджета и при необходимости увеличивать параметры строки и столбца, но не могу понять, как получить значения шкал. В «Основном» каждый виджет будет иметь индекс, который можно было бы использовать для его решения, но я не могу найти, как что-то подобное реализовано в Python. Еще хуже - только с одной шкалы я использовал:tkinter python3 масштаб "массив"

от Tkinter импорта *

master = Tk() 

w = Scale(master, from_=0, to=100) 
w.pack() 

w = Scale(master, from_=0, to=200, orient=HORIZONTAL) 
w.pack() 

mainloop() 


#To query the widget, call the get method: 

w = Scale(master, from_=0, to=100) 
w.pack() 

print w.get() 

И получил ответ:

AttributeError: 'NoneType' object has no attribute 'get' 

Я предполагаю, что это какая-то версия выпуска.

Любая помощь с благодарностью получена.

ответ

0

Вы уверены, что используете Python 3? Ваш пример Python 2. Этот простой пример работы с 1 виджетом:

from tkinter import * 
master = Tk() 
w = Scale(master, from_=0, to=100,command=lambda event: print(w.get())) 
w.pack() 
mainloop() 

С множеством виджетов, вы поместите их в списке

from tkinter import * 
master = Tk() 
scales=list() 
Nscales=10 
for i in range(Nscales): 
    w=Scale(master, from_=0, to=100) # creates widget 
    w.pack(side=RIGHT) # packs widget 
    scales.append(w) # stores widget in scales list 
def read_scales(): 
    for i in range(Nscales): 
     print("Scale %d has value %d" %(i,scales[i].get())) 
b=Button(master,text="Read",command=read_scales) # button to read values 
b.pack(side=RIGHT) 
mainloop() 

Я надеюсь, что это то, что вы хотите.

JPG

+0

Спасибо большое - это именно то, что я хотел. Один дополнительный вопрос: можете ли вы порекомендовать книгу или другой источник ссылок/учебников? Меня беспокоила информация, связанная с неправильной версией Python или Tkinter или tkinter. –

+0

Я начал с [http://www.python-course.eu/tkinter_labels.php](http://www.python-course.eu/tkinter_labels.php), но это очень просто. Я не знаю никакой всеобъемлющей книги или учебника. Возможно, кто-то другой может дать лучший совет. – JPG

+0

Еще раз спасибо, вы были очень полезны. Этот сайт выглядит хорошо для меня - «простой» - это то, что мне нужно в данный момент. –