2019年12月15日日曜日

tkinter ラベルをタイマーを表示する2つの方法



#!/usr/bin/env python
#coding: utf-8

#@@@ ラベルにタイマー表示
#@@@ 2つの方法
#1
#self.buf = Tk.StringVar()
#self.buf.set(self.time)
#textvariable=self.buf として
#self.buf.set(self.time)のtimeをインクリメントさせる
#2
#self.la = Tk.Label(self, text="0") として
#self.la.configure(text="%i" % self.time)のtimeをインクリメントさせる
#いずれもafterでインクリメントする関数を一秒間隔で再呼び出しする


#参考サイト
# 【Python入門】初心者に最適!Pythonで簡単なタイマーを作成しよう
# https://www.sejuku.net/blog/73265
# tkinterの使い方
# https://riptutorial.com/ja/tkinter/example/22870/-after--

import Tkinter as Tk
from time import sleep

class Frame(Tk.Frame):
    def __init__(self, master=None):
        Tk.Frame.__init__(self, master)

        self.time = 0
        self.buf = Tk.StringVar()
        self.buf.set(self.time)

        #self.la = Tk.Label(self, textvariable=self.buf, text="0")
        self.la = Tk.Label(self, text="0")
        self.la.pack()

        #self.up_timer()
        self.up_timer2()

    def up_timer(self):
        self.time += 1
        self.buf.set(self.time)
        self.after(1000, self.up_timer)

    def up_timer2(self):
        self.time += 1
        #%iは数字をテキスト変換するのか?
        self.la.configure(text="%i" % self.time)
        self.after(1000, self.up_timer2)

if __name__=='__main__':
    f = Frame()
    f.pack()
    f.mainloop()

0 件のコメント:

コメントを投稿

About

参加ユーザー

連絡フォーム

名前

メール *

メッセージ *

ページ

Featured Posts