редактирование на основе комментария: я пытаюсь вызывать шкалу tkinter каждый раз, когда в дополнительном скрипте происходит определенное событие. но масштаб вызывается только в первом событии, а не в любом из следующих событий.
шкала весов - это функция шкалы tkinter, которую я использую.
import tkinter
def quit():
global tkTop
tkTop.destroy()
def savepick(event):
global colornumber
colornumber = tkScale.get()
print (colornumber)
return (colornumber)
def doscale(tkScale):
savepick(tkScale)
quit()
return (colornumber)
tkTop = tkinter.Tk()
tkTop.title("scale")
tkTop.geometry('250x100')
tkTop.focus_force()
tkButtonQuit = tkinter.Button(tkTop, text="Enter", command=quit)
tkButtonQuit.pack()
tkScale = tkinter.Scale(tkTop, label='How many color changes did you see?',resolution=1, length = 240, from_=0, to=5, orient=tkinter.HORIZONTAL)
tkScale.pack(anchor=tkinter.CENTER)
tkTop.bind("<Left>", lambda e: tkScale.set(tkScale.get()-1))
tkTop.bind("<Right>", lambda e: tkScale.set(tkScale.get()+1))
tkTop.bind("<Up>", doscale)
#tkTop.lift()
#tkTop.attributes('-topmost',True)
#tkTop.attributes('-topmost',False)
tkinter.mainloop()
Шкала вызывается в основном цикле while (while run :), из которого я публикую только соответствующий раздел.
num_of_colorc = "NA"
if trial_type_list[0] == "B":
#surface.fill((0, 0, 0))
# color counting GUI
colorgui = __import__("scalebar")
#logging the value selected
num_of_colorc = colorgui.colornumber
Я хочу, чтобы масштабирование вызывалось каждый раз, если trial_type_list [0] == "B".