《Python3.0》Scale Widget #1 ★
Python.use(better, Tkinter)《記事一覧》
Scale Widget #1
《著》森こねこ+小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部
第1版♪2003/05/23 ● 第2版♪2006/11/28 ● 第3版♪2009/05/12
概要:Scale Widget
Scale は、ある範囲で値を設定したいときに、便利な機能を提供します。
>>> Scale.__doc__ 'Scale widget which can display a numerical scale.' >>> print(Scale.__init__.__doc__) Construct a scale widget with the parent MASTER. Valid resource names: activebackground, background, bigincrement, bd, bg, borderwidth, command, cursor, digits, fg, font, foreground, from, highlightbackground, highlightcolor, highlightthickness, label, length, orient, relief, repeatdelay, repeatinterval, resolution, showvalue, sliderlength, sliderrelief, state, takefocus, tickinterval, to, troughcolor, variable, width.
コードの解説:
#! /usr/bin/Python3.0 from tkinter import * class Ex(Frame): def __init__(self, *args): super().__init__(*args) Pack.config(self) self.createWidgets() def createWidgets(self): self.slider = Scale( self, name = "slider", from_ = 0, to = 100, orient = HORIZONTAL, length = "8cm", label = "Slider", command = self.update, )
from_ | 下限 | ||
to | 上限 | ||
orient | 方向 | 水平 HORIZONTAL | |
length | 長さ | ||
label | ラベル | ||
command | コマンド | 動作を規定します |
for name, text, command in [ ("minButton" , '|<' , self.reset_min ), ("leftButton" , '<<' , self.skip_left ), ("rightButton", '>>' , self.skip_right), ("maxButton" , '>|' , self.reset_max ), ("quitButton" , 'Quit', self.quit ), ]: setattr(self, name, Button( self, name = name, text = text, command = command, )) self.slider.pack(side = LEFT) self.minButton.pack(side = LEFT) self.leftButton.pack(side = LEFT) self.rightButton.pack(side = LEFT) self.maxButton.pack(side = LEFT) self.quitButton.pack(side = LEFT, fill = BOTH) def update(self, val): self.slider["label"] = "Slider value: %s"%val def min(self): return self.slider["from"] def max(self): return self.slider["to"] def value(self): return self.slider.get() def reset_min(self): value = self.min() self.slider.set(value) def skip_left(self): value = max(self.value()-10, self.min()) self.slider.set(value) def skip_right(self): value = min(self.value()+10, self.max()) self.slider.set(value) def reset_max(self): value = self.max() self.slider.set(value)
スライダー self.slider に対しては、メソッド get で値を獲得して、メソッド set で値を設定できます。
## ---------------------------------------- def example(*args): ex = Ex() ex.mainloop() ## ---------------------------------------- if __name__=='__main__': example()
Tips
》作業中です《
Last updated♪09/06/05