スライダー バーの値の出力に問題があります。そのためにスライダーの下にボタンを作成しましたが、押す前に印刷され、押しても印刷されません。
スライダーを水平にするという問題もあります。「orient=HORIZONTAL」であることはわかっており、クラスにないときは機能しますが、クラスにあると問題が発生します。
これがコードです。いつものように、どうもありがとうございます!! :)
import Tkinter as tki # Tkinter -> tkinter in Python 3
import tkMessageBox
class GUI(tki.Tk):
def __init__(self):
tki.Tk.__init__(self)
self.wm_title("Menu Title")
RWidth=500
RHeight=300
self.geometry(("%dx%d")%(RWidth,RHeight))
menubar = tki.Menu(self)
# create a pulldown menu, and add it to the menu bar
menu0 = tki.Menu(menubar, tearoff=0)
menu0.add_command(label="Run Slider", command=self.slider_prompt)
menu0.add_separator()
menu0.add_command(label="Exit", command=self.quit)
menubar.add_cascade(label="Slider", menu=menu0)
# display the menu
self.config(menu=menubar)
def slider_prompt(self, msg='This is a slider'):
slider_window= self.top = tki.Toplevel(self)
slider_window.title("Slider Title")
RWidth=300
RHeight=200
slider_window.geometry(("%dx%d")%(RWidth,RHeight))
label0 = tki.Label(slider_window, text=msg)
label0.pack()
slider = tki.Scale(slider_window, from_=100, to=1000) # have to make horizontal
slider.pack()
#put button here that starts the program (pass the slider value)
button_cheat = tki.Button( slider_window, text='Print Value', command=self.print_slide_value(slider.get()) )
button_cheat.pack()
button_close = tki.Button(slider_window, text='Exit', command=lambda: self.top.destroy())
button_close.pack()
def print_slide_value(self, slider_value):
print slider_value
gui = GUI()
gui.mainloop()