GUI

GUIディジタルクロック:
イベントドリブン型のアプリケーション
GUIの台紙とする
メインウインドウ
イベント
クロックイベント
を使う
Buttonウィジェット
GUIディジタルクロック
#!/usr/bin/env python
# coding: utf-8
from Tkinter import *
# 日付・時刻を操作するdatetimeモジュールのインポート
import datetime
def updater():
global root, button
# 現在の日付・時刻を取得
d = datetime.datetime.today()
# 現在の日付・時刻を、指定した書式に従って文字列に変換
now = u'%s年%s月%s日\n' % (d.year, d.month, d.day)
now = now + u'%s時%s分\n%s.%s秒' % (
d.hour, d.minute, d.second, d.microsecond)
# ボタンのtextに現在の日付・時刻を表示
button.configure(text = now)
# 1秒後のクロックイベントによってupdaterをコールバック
root.after(1000*1, updater)
root = Tk()
button = Button(root, text = u'')
button.pack()
button.configure(font=(u'MS ゴシック', 62))
updater()
root.mainloop()
クロックイベント
を使う
GUIディジタルクロック
#!/usr/bin/env python
# coding: utf-8
from Tkinter import *
# 日付・時刻を操作するdatetimeモジュールのインポート
import datetime
class App(Frame):
def init(self):
self.button = Button(self, text = u'')
self.button.pack()
self.button.configure(font=(u'MS ゴシック', 62))
self.updater()
def __init__(self, master = None):
Frame.__init__(self, master)
self.pack()
self.init()
def updater(self):
# 現在の日付・時刻を取得
d = datetime.datetime.today()
# 現在の日付・時刻を、指定した書式に従って文字列に変換
now = u'%s年%s月%s日\n' % (d.year, d.month, d.day)
now = now + u'%s時%s分\n%s.%s秒' % (
d.hour, d.minute, d.second, d.microsecond)
# ボタンのtextに現在の日付・時刻を表示
self.button.configure(text = now)
# 1秒後のクロックイベントによってupdaterをコールバック
self.after(1000*1, self.updater)
app = App()
app.mainloop()
クロックイベント
を使う