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

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

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

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

Tkinter

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

受付中

pythonのtkinterのradiobuttonで選択した項目のvalue値を関数の変数にしようとするとエラーが出る

yoshisuta
yoshisuta

総合スコア10

Python 3.x

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

Tkinter

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

1回答

-2評価

0クリップ

174閲覧

投稿2022/04/13 15:54

編集2022/04/16 15:32

Tkinterでマップ選択画面にradiobuttonを配置して選んだマップのframeに飛べるシステムを作っています。しかしエラーが出てしまってうまく変数にradiobuttonのvalue値を組み込むことができません。

main.py

# tkinterのインポート import tkinter as tk import tkinter.ttk as ttk import time import program as pg import talking as tg import keyboard import pygame if __name__ == "__main__": #メインウィンドウの設定 root = tk.Tk() root.attributes('-fullscreen', True) root.bind('<Escape>', lambda e: root.destroy()) root.geometry("1920x1200") root.configure(bg='black') root.grid_rowconfigure(0, weight=1) root.grid_columnconfigure(0, weight=1) #タイトルウィンドウ設置 frame = tk.Frame(root, bg='black') frame.grid(row=0, column=0, sticky="nsew", pady=20) #マップ画面 main_map = tk.Frame(root, bg='black') main_map.grid(row=0, column=0, sticky="nsew", pady=20) map_img = tk.PhotoImage(file='map.png') map_img_label = tk.Label(main_map, image=map_img, background='black') map_img_label.grid() map_radio = tk.IntVar() map_radio.set(0) map_1 = tk.Radiobutton(map_img_label, value=0, variable=map_radio) map_1.place(x=500, y=600) map_2 = tk.Radiobutton(map_img_label, value=1, variable=map_radio) map_2.place(x=1000, y=700) map_3 = tk.Radiobutton(map_img_label, value=2, variable=map_radio) map_3.place(x=1300, y=500) map_select_button = tk.Button(main_map, text='選択', command=lambda:pg.change_map(map_radio)) map_select_button.place(x=1800, y=1000) #ろとの塔 roto = tk.Frame(root, bg='black') roto.grid(row=0, column=0, sticky="nsew", pady=20) talk_label = tk.Label(roto, text = tg.roto_tell[pg.roto_x]) talk_label.place(x=0, y=800, width=1920, height=300) #勇者の集落 yuusha = tk.Frame(root, bg='black') yuusha.grid(row=0, column=0, sticky="nsew", pady=20) talk_label = tk.Label(yuusha, text = tg.yuusha_tell[pg.yuusha_x]) talk_label.place(x=0, y=800, width=1920, height=300) #天空の洞窟 tenku = tk.Frame(root, bg='black') tenku.grid(row=0, column=0, sticky="nsew", pady=20) talk_label = tk.Label(tenku, text = tg.tenku_tell[pg.tenku_x]) talk_label.place(x=0, y=800, width=1920, height=300) # frameを前面にする frame.tkraise() root.mainloop()

program.py

import talking as tg import time import tkinter as tk import tkinter.ttk as ttk import main import pygame map_no = [roto, yuusha, tenku] def change_map(var): map_value= var.get() map_no[map_value].tkraise()

error

map_no[map_value].tkraise() AttributeError: 'str' object has no attribute 'tkraise'

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

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

Tkinter

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