質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

button

HTMLで用いる<button>タグです。

Q&A

解決済

3回答

1399閲覧

PythonでGUIを使ったジャンケンゲームを作ってるのですが●●ボタンを押したときにラベルが変化する 命令を作りたい

yamasita_uruki

総合スコア29

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

button

HTMLで用いる<button>タグです。

0グッド

0クリップ

投稿2021/01/16 08:51

PythonでGUIを使ったジャンケンゲームを作ってるのですが●●ボタンを押したときにラベルが変化する
命令を作りたいのですが 
import random
import tkinter
root=tkinter.Tk()
zyanken=random.rndint(1,3)
def click_btn(): #ここにボタン変数を入れたら良いのかが分からない
if zyanken==1():
label['text'] = '✊'# 
if zyanken==2():   button1~button3を押したときにlabelのジャンケンの部分を✊✌✋にしたいです
label['text'] = '✌' よろしくお願いいたします
if zyanken==3():
label['text'] = '✋'

root.title(" ジャンケン")
root.geometry("150x150")
label=tkinter.Label(root,text="ジャンケン",font=("system",14))
button=tkinter.Button(root,text="✊",font=("TimesNewRoman",15))
button.place(x=10,y=90)
button2=tkinter.Button(root,text="✌",font=("TimesNewRoman",15))
button2.place(x=58,y=90)
button3=tkinter.Button(root,text="✋",font=("TimesNewRoman",15))
button3.place(x=100,y=90)
label.place(x=15,y=45)
root.mainloop()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

button, button2, button3それぞれを左ボタンでクリックしたときのコールバック関数としてclick_btnを作ると簡単かな。

button.bind("<1>", click_btn)と書くと、buttonを左クリック('<1>'に相当)したときに、関数click_btnが呼び出されます。button2とbutton3も同じように書きます。

def click_btn(event):のように引数にeventを書くと、event.widget["text"]でボタンのテキストを読み出せます。これをそのままラベルのテキストに設定すればいいでしょう。

Python

1import tkinter 2 3root = tkinter.Tk() 4 5 6def click_btn(event): 7 label['text'] = event.widget["text"] 8 9 10root.title(" ジャンケン") 11root.geometry("150x150") 12label = tkinter.Label(root, text="ジャンケン", font=("system", 14)) 13 14button = tkinter.Button(root, text="✊", font=("TimesNewRoman", 15)) 15button.bind("<1>", click_btn) 16button.place(x=10, y=90) 17 18button2 = tkinter.Button(root, text="✌", font=("TimesNewRoman", 15)) 19button2.place(x=58, y=90) 20button2.bind("<1>", click_btn) 21 22button3 = tkinter.Button(root, text="✋", font=("TimesNewRoman", 15)) 23button3.place(x=100, y=90) 24button3.bind("<1>", click_btn) 25 26label.place(x=15, y=45) 27root.mainloop()

投稿2021/01/16 09:16

Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yamasita_uruki

2021/01/16 09:55

助かりました、ありがとうございます
guest

0

これらの記事が参考になるでしょうか。いかがでしょう。

Tkinter ラベルテキストを変更する方法

Tkinter ボタンのテキストを更新する方法

投稿2021/01/16 09:11

_whitecat_22

総合スコア1305

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんばんは。

問題文読ませていただきました。

こんな感じでいかがでしょうか?

python

1import tkinter as tk 2 3 4class Application(tk.Frame): 5 # label Widget用変数 6 label = None 7 8 # クリックしたボタンのテキスト情報を、label Widgetのtextへ書き込む関数 9 def clickBtn(self, event): 10 self.label['text'] = event.widget["text"] 11 12 def __init__(self, master=None): 13 # Windowの初期設定を行う。 14 super().__init__(master) 15 16 # Windowの画面サイズを設定する。 17 # geometryについて : https://kuroro.blog/python/rozH3S2CYE0a0nB3s2QL/ 18 self.master.geometry("300x200") 19 20 # Window内にframe Widgetを作成する。 21 # Frameについて : https://kuroro.blog/python/P20XOidA5nh583fYRvxf/ 22 frame = tk.Frame(self.master) 23 24 # frame Widget(Frame)を親要素として、label Widgetを作成する。 25 # text : テキスト情報 26 # bg : 背景色の設定 27 # 色の設定を変更する場合 : http://www.tcl.tk/man/tcl/TkCmd/colors.htm 28 # Labelについて : https://kuroro.blog/python/Pj4Z7JBNRvcHZvtFqiKD/ 29 self.label = tk.Label(frame, text="ジャンケン", bg='green') 30 # Frameを親要素として、label Widgetをどのように配置するのか? 31 # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/ 32 self.label.grid(columnspan=3, column=0, row=0) 33 34 # frame Widget(Frame)を親要素として、button Widgetを作成する。 35 # text : テキスト情報 36 # Buttonについて : https://kuroro.blog/python/oFju6EngDtcYtIiMIDf1/ 37 button1 = tk.Button(frame, text="✊") 38 # 第一引数 : イベント内容。button Widgetがクリックされた場合 39 # 第二引数 : 第一引数が試行された場合に、実行する関数名。self.clickBtnとする。 40 # bindについて : https://kuroro.blog/python/eI5ApJE1wkU7bHsuwk0H/ 41 button1.bind("<ButtonPress>", self.clickBtn) 42 43 # frame Widget(Frame)を親要素として、button Widgetを作成する。 44 # text : テキスト情報 45 # Buttonについて : https://kuroro.blog/python/oFju6EngDtcYtIiMIDf1/ 46 button2 = tk.Button(frame, text="✌️") 47 # 第一引数 : イベント内容。button Widgetがクリックされた場合 48 # 第二引数 : 第一引数が試行された場合に、実行する関数名。self.clickBtnとする。 49 # bindについて : https://kuroro.blog/python/eI5ApJE1wkU7bHsuwk0H/ 50 button2.bind("<ButtonPress>", self.clickBtn) 51 52 # frame Widget(Frame)を親要素として、button Widgetを作成する。 53 # text : テキスト情報 54 # Buttonについて : https://kuroro.blog/python/oFju6EngDtcYtIiMIDf1/ 55 button3 = tk.Button(frame, text="✋") 56 # 第一引数 : イベント内容。button Widgetがクリックされた場合 57 # 第二引数 : 第一引数が試行された場合に、実行する関数名。self.clickBtnとする。 58 # bindについて : https://kuroro.blog/python/eI5ApJE1wkU7bHsuwk0H/ 59 button3.bind("<ButtonPress>", self.clickBtn) 60 61 # Frameを親要素として、button Widgetをどのように配置するのか? 62 # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/ 63 button1.grid(column=0, row=1) 64 # Frameを親要素として、button Widgetをどのように配置するのか? 65 # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/ 66 button2.grid(column=1, row=1) 67 # Frameを親要素として、button Widgetをどのように配置するのか? 68 # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/ 69 button3.grid(column=2, row=1) 70 71 # Window上にFrameの配置 72 # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/ 73 frame.grid() 74 75 76if __name__ == "__main__": 77 root = tk.Tk() 78 app = Application(master=root) 79 # Windowをループさせて、継続的にWindow表示させる。 80 # mainloopについて : https://kuroro.blog/python/DmJdUb50oAhmBteRa4fi/ 81 app.mainloop()

ご確認のほど、よろしくお願いいたします。????‍♂️

投稿2021/06/10 09:37

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問