Tkinterの拡張であるTixを使えばよいらしい。
Python3.0とPython2.6で動作を確認済。
try:
from tkinter import DISABLED
from tkinter import Frame
from tkinter import Button
from tkinter import tix
except ImportError:
from Tkinter import DISABLED
from Tkinter import Frame
from Tkinter import Button
import Tix as tix
class Window(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self._p = 0
self._stopFlg = False
self.pack()
self.createWidgets()
self.progress()
def createWidgets(self):
self.stopButton = Button(text='now progress', command=self.stopToggle)
self.stopButton.pack({'side': 'bottom'})
self.meter = tix.Meter(value=self._p)
self.meter.pack({'side': 'bottom'})
def stopToggle(self):
self._stopFlg = not self._stopFlg
if self._stopFlg:
self.stopButton.configure(text='now pause')
else:
self.stopButton.configure(text='now progress')
self.progress()
def progress(self):
if self._p < 1:
if not self._stopFlg:
self._p = self._p + 0.001
self.meter['value'] = self._p
self.after(10, self.progress)
else:
self._p = 1
self.stopButton.configure(text='finished', state=DISABLED)
if __name__ == '__main__':
root = tix.Tk()
app = Window(master = root)
app.mainloop()
Tkinterの使い方は紫藤のページさんの記事を参考にしました。
0 件のコメント:
コメントを投稿