前提・実現したいこと
python tkinter を使いボタン上に画像を貼り付けそのボタンを押すと画像変更させるプログラム
ボタン上に画像①~⑤の画像をランダムで表示さらにそのボタンを押すとランダムで画像変更させる
button_push() 関数を何とかして…と思うのですがそれに関連して他の所も変更しなければならなくなるのか
発生している問題・エラーメッセージ
プログラム実行時はランダムに画像を表示させる事が出来たのですがその次に
ボタンを押しても画像変更ができません
該当のソースコード
python
1 2#!/usr/bin/env python 3# -*- coding: utf8 -*-# 4 5from tkinter import * 6from tkinter import ttk 7import random 8 9 10### ↓ここの処理? 11def button_push(): 12 nini = ['TTT01','TTT02','TTT03','TTT04','TTT05'] 13 card_cho = random.choice(nini) 14 img = PhotoImage(file = (str(card_cho) + '.png')) 15 16### 17 18 19root = Tk() 20root.geometry("250x200+200+90") 21 22 23#ウィンドウのタイトル 24root.title('ランダム画像') 25 26frame = ttk.Frame(root) 27 28 29ris = ['TTT01','TTT02','TTT03','TTT04','TTT05'] 30GGG = random.choice(ris) 31img = PhotoImage(file = (str(GGG) + '.png')) 32 33 34button = ttk.Button( 35 frame, 36 image = img, 37 command = button_push, 38 ) 39 40 41frame.grid() 42button.grid() 43root.mainloop() 44 45
試したこと
button_push() 関数 に引数?返値?が必要ではないかとはおもうのですが如何せんまだそこの所が理解不足です
imgを入れるとインスタンス化と言われました
TypeError: button_push() missing 1 required positional argument: 'img'
まだまだ勉強不足ですしそもそもの考え方違いなのか助言等を頂けると幸いです。
よろしくお願い致します
補足情報(FW/ツールのバージョンなど)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/10 04:36