タイマーアプリ
import tkinter as tk
from tkinter import font
root = tk.Tk()
root.geometry("200x100") #ウィンドウサイズ
#タイマーを開始する
def startTimer():
total = int(entryBox.get())
entryBox.pack_forget()
startButton.pack_forget()
now = total
count(total, now)
#カウントダウンする
def count(total, now):
if now >= 0:
timeLabel['text'] = now
setMessage(total, now)
now -= 1
root.after(1000, count, total, now)
#メッセージの表示
def setMessage(total, now):
m = ''
if now == 0:
m = '時間です!'
elif total/5 <= now and now <= total/3:
m = 'がんばれ!'
elif 0 < now and now <= total/5:
m = 'あと少し!'
messageLabel['text'] = m
#------------
#部品の作成
#------------
#フォントの指定
font = font.Font(root,family="sans-serif",size=20,weight="bold")
#時間を入力するボックス
entryBox = tk.Entry(root, width=5, font=font)
entryBox.pack()
#スタートボタン
startButton = tk.Button(root, text="Start", command=startTimer, font=font)
startButton.pack()
#時間を表示するラベル
timeLabel = tk.Label(root, font=font)
timeLabel.pack()
#メッセージを表示するラベル
messageLabel = tk.Label(root, font=font)
messageLabel.pack()
root.mainloop()
画像の表示
import tkinter as tk
from PIL import Image, ImageTk #画像の処理
root = tk.Tk()
root.geometry("800x600") #ウィンドウサイズ
filename = "C:/Users/Hikyaku/Documents/temp/kotori.jpg"
canvas = tk.Canvas(width = 400,height = 300)
canvas.img = ImageTk.PhotoImage(file = filename)
canvas.pack()
canvas.create_image(0, 0,image = canvas.img, anchor = tk.NW)
tk.mainloop()
ボタンに画像を配置する
import tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
root.geometry("800x600")
filename = "C:/Users/Hikyaku/Documents/temp/kotori.jpg"
canvas = tk.Canvas(width = 0,height = 0) #仮のキャンバスを作っておく
img = ImageTk.PhotoImage(master=canvas, file = filename)
button = tk.Button(root, image=img, text="ことり", compound="top")
button.pack()
tk.mainloop()
要素の配置
root = tk.Tk()
root.geometry("400x300") #ウィンドウサイズ
frames = []
for i in range(3):
frames.append(tk.Frame(root))
frames[i].pack(side="left", anchor=tk.N) #左寄せ上詰め
for j in range(i+1):
button = tk.Button(frames[i],text='button')
button.pack()
tk.mainloop()
文字の装飾
import tkinter as tk
from tkinter import font
root = tk.Tk()
root.geometry("400x300") #ウィンドウサイズ
font = font.Font(root,family="serif",size=20,weight="bold")
label = tk.Label(text='こんにちは!ABC', font=font, fg='red', bg='yellow')
label.pack()
tk.mainloop()
コメント
最新を表示する
NG表示方式
NGID一覧