Python学習のため御神籤アプリを作ってみます。
① 大吉、中吉、小吉を引き当てる
*ボタンでキャンバスに御神籤の結果を表示する
*ウインドー上に用意するもの:ライブラリーは乱数関数が必要
・キャンバス、背景
・巫女さん
・御神籤表示ラベル
・御神籤購入用ボタン
② プログラム
#御神籤ソフト1.py 6/1/2020
import random
import tkinter as tk
root = tk.Tk()
root.title(‘御神籤ソフト’)
root.resizable(False, False) #ウィンドーサイズを変更させない
canvas = tk.Canvas(root, width=800, height=600)
canvas.pack()
画像= tk.PhotoImage(file=”napa.png”)#jpgは動作しない
canvas.create_image(400,300, image=画像) #画像表示
root.mainloop()
runするとまだこんなwindowです。
② キャンバスの代わりにラベルにを使った場合
import tkinter as tk
root=tk.Tk()
#root.geometry(‘200×300’) #imgのサイズに合わせてwindowも変わるのでここでは指定しなくても良い。
img=tk.PhotoImage(file=’miko_half.png’)
lable=tk.Label(root, image=img).pack()
root.mainloop()
・ラベルでもキャンヴァスでも画像の貼付けは出来ますが、参考本ではキャンバスを使ってます。
・御神籤表示ラベル、御神籤購入用ボタンは次回装着します。
次の絵になる
③
ではこれに
・巫女さん
・御神籤表示ラベル
・御神籤購入用ボタン
を張り付けて完成品とします。
1 | import tkinter as tk |
2 | import random |
3 | |
4 | root=tk.Tk() |
5 | root.title(“御神籤ソフト”) |
6 | root.geometry(‘400×300’) |
7 | |
8 | img_1=tk.PhotoImage(file=’haikei.png’) |
9 | label_1=tk.Label(root, image=img_1).pack() |
10 | |
11 | img_2=tk.PhotoImage(file=’miko1c.png’) |
12 | label_2=tk.Label(root, image=img_2) |
13 | label_2.place(x=30, y=150) |
14 | |
15 | def 籤を引く(): |
16 | 籤リスト= [“大吉”,”中吉”,”小吉”,”凶”,”大吉”,”中吉”,”小吉”,”大吉”,”中吉”,”小吉”,] |
17 | 籤 = random.choice(籤リスト) |
18 | |
19 | text_1=tk.Entry(root) |
20 | text_1.delete(0, tk.END) |
21 | text_1.insert(tk.END, 籤) |
22 | text_1.place(x=200,y=100) |
23 | |
24 | def quit(): |
25 | root.destroy() |
26 | |
27 | btn_1=tk.Button(root,text=”御神籤を引く”,width=10, command= 籤を引く) |
28 | btn_1.place(x=150,y=200) |
29 | |
30 | btn_2=tk.Button(root,text=”お金なくなった”,width=10, command=quit) |
31 | btn_2.place(x=250,y=200) |
32 | |
33 | root.mainloop() |
・凶の出る確率を減らすため、大吉などの出現を3倍にしました。
余り格好の良いものではありませんが、Pythonの練習で~す。
終わり