前提・実現したいこと
一つ目のボタンを押したら画面が変わり(消して新しいのを書いた)その画面でまたボタンを押すとまた新しい画面にかきかえ、そこの画面でテキストボックスに入力した文字を取りたい。エラーは出てません。
発生している問題・エラーメッセージ
引用テキスト
エラーメッセージ
python
1import tkinter 2from PIL import Image, ImageTk 3from time import sleep 4import random 5import tkinter as tk 6import tkinter.font as f 7import tkinter.ttk as ttk 8import sys 9 10 11# windowを描画 12window = tkinter.Tk() 13# windowサイズを変更 14window.geometry("1200x800") 15 16# windowタイトルを設定 17window.title("トランプ(スピード)") 18 19 20# 画像を表示するためのキャンバスの作成(黒で表示) 21canvas = tkinter.Canvas(bg = "white", width=1200, height=800) 22canvas.place(x=0, y=0) # 左上の座標を指定 23 24 25def settei_1(): 26 global en 27 print("123") 28 val_en=en.get()#enを値を取得し、val_enに代入 29 print(val_en) 30 31 32def settei(): 33 global en 34 start_1.place_forget() 35 start_button_2.place_forget() 36 start_button_3.place_forget() 37 start_button_4.place_forget() 38 39 settei_1 = tk.Label(window, text="プレイヤー名", font=("MSゴシック", "15", "bold"), background='white')#テスト用 40 settei_1.place(x=200,y=100) 41 en=tk.Entry(text="player.1") 42 bt=tk.Button(text="ボタン",command = settei_1) 43 44 en.place(x=400,y=70)#テキストボックス配置 45 en.focus_set()#テキストボックスにフォーカスを当てる 46 bt.place(x=400,y=400) 47 48 49start_1 = tk.Label(window, text="ゲーム", font=("MSゴシック", "30", "bold"), background='white')#テスト用 50start_1.place(x=400,y=300) 51start_button_2 = tk.Button(window, text='始める', font=("MSゴシック", "25", "bold"), foreground='red', background='white',command = window.destroy) 52start_button_2.place(x=490, y=450) 53start_button_3 = tk.Button(window, text='設定', font=("MSゴシック", "15", "bold"), background='white',command = settei) 54start_button_3.place(x=470, y=550) 55start_button_4 = tk.Button(window, text='終わる', font=("MSゴシック", "15", "bold"), foreground='blue', background='white',command = window.destroy) 56start_button_4.place(x=570, y=550) 57 58 59 60 61window.mainloop() 62 63
該当のソースコード
import tkinter
from PIL import Image, ImageTk
from time import sleep
import random
import tkinter as tk
import tkinter.font as f
import tkinter.ttk as ttk
コード
コード
import sys
windowを描画
window = tkinter.Tk()
windowサイズを変更
window.geometry("1200x800")
windowタイトルを設定
window.title("ゲーム")
画像を表示するためのキャンバスの作成(黒で表示)
canvas = tkinter.Canvas(bg = "white", width=1200, height=800)
canvas.place(x=0, y=0) # 左上の座標を指定
def settei_1():
global en
print("123")
val_en=en.get()#enを値を取得し、val_enに代入
print(val_en)
def settei():
global en
start_1.place_forget()
start_button_2.place_forget()
start_button_3.place_forget()
start_button_4.place_forget()
settei_1 = tk.Label(window, text="プレイヤー名", font=("MSゴシック", "15", "bold"), background='white') settei_1.place(x=200,y=100) en=tk.Entry(text="player.1") bt=tk.Button(text="ボタン",command = settei_1) en.place(x=400,y=70)#テキストボックス配置 en.focus_set()#テキストボックスにフォーカスを当てる bt.place(x=400,y=400)
start_1 = tk.Label(window, text="ゲーム", font=("MSゴシック", "30", "bold"), background='white')
start_1.place(x=400,y=300)
start_button_2 = tk.Button(window, text='始める', font=("MSゴシック", "25", "bold"), foreground='red', background='white',command = window.destroy)
start_button_2.place(x=490, y=450)
start_button_3 = tk.Button(window, text='設定', font=("MSゴシック", "15", "bold"), background='white',command = settei)
start_button_3.place(x=470, y=550)
start_button_4 = tk.Button(window, text='終わる', font=("MSゴシック", "15", "bold"), foreground='blue', background='white',command = window.destroy)
start_button_4.place(x=570, y=550)
window.mainloop()
python
試したこと
global などを入れてみて試しましたが動きません。
補足情報(FW/ツールのバージョンなど)
python 3.8.5 64-bit
v2021.1.502429796
回答1件
あなたの回答
tips
プレビュー