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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

609閲覧

Pythonで2つ目のボタンの配置ができません.

Okachan

総合スコア9

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/01/28 14:47

前提・実現したいこと

pythonで株価取得プログラムのGUI部分を作成しています.
ボタンをクリックした際にエクスプローラーを開く機能を実装中に以下のようなエラーメッセージが発生しました.

発生している問題・エラーメッセージ

Traceback (most recent call last): File "G:\111\222\333\444\Front.py", line 103, in <module> dlfolder_btn = tk.Buttun(win, text = '�_�E�����[�h��t�H���_', command = lambda: open_folder(lbl_ID003), width = 40) AttributeError: module 'tkinter' has no attribute 'Buttun'

該当のソースコード

python

1dlfolder_btn = tk.Buttun(win, text = 'ダウンロード先フォルダ', command = lambda: open_folder(lbl_ID003), width = 40) 2dlfolder_btn.place(x = 15, y = 800)

---全体のプログラム---

"""のコメントアウトを外すとエラーが出ます.

python

1''' 2今回の目標 3Tkinter(GUI)を使用してNewScraping_Stock(CUI)改良し,新たなプログラムを導入する。 4''' 5 6import tkinter as tk 7import tkinter.filedialog as TKFDL 8#import subprocess 9 10#------ウィンドウの作成------ 11win = tk.Tk() 12win.title('株価取得プログラム') #ウィンドウのタイトル変更 13win.minsize(width = 325, height = 100) #最大サイズの固定化はmaxsizeを使う 14win.geometry('325x1000') #ウィンドウの元サイズの決定(横*盾) 15#------------ 16 17global cnt 18cnt = 0 19global Start_box_y 20Start_box_y = 35 21global Goal_box_y 22Goal_box_y = 35 23global Wavy_line_y 24Wavy_line_y = 35 25global Move_addbutton 26Move_addbutton = 65 27global path 28path = 'C:' 29global add_stocknum_btn 30 31#------ウィジェットを増やす関数------ 32def add_start_box(): 33 global Start_box_y 34 Start_box_y = Start_box_y + 30 35 add_stock_start_box = tk.Entry() 36 add_stock_start_box.place(x = 15, y = Start_box_y) 37 38def add_goal_box(): 39 global Goal_box_y 40 Goal_box_y = Goal_box_y + 30 41 add_stock_goal_box = tk.Entry() 42 add_stock_goal_box.place(x = 175, y = Goal_box_y) 43 44def wave_line(): 45 global Wavy_line_y 46 lbl_ID002 = tk.Label(text = '~') 47 Wavy_line_y = Wavy_line_y + 30 48 lbl_ID002.place(x = 150, y = Wavy_line_y) 49 50#------追加ボタンをずらす関数------ 51def move_addbutton(): 52 global Move_addbutton 53 global add_stocknum_btn 54 global cnt 55 add_stocknum_btn.destroy() 56 Move_addbutton = Move_addbutton + 30 57 if cnt < 23: 58 add_stocknum_btn = tk.Button(text = '追加', command = add_stock_btn, width = 40) 59 add_stocknum_btn.place(x = 15, y = Move_addbutton) 60 else: 61 add_stocknum_btn = tk.Button(text = 'これ以上追加できません', width = 40) 62 add_stocknum_btn.place(x = 15, y = Move_addbutton) 63 64 cnt += 1 65 66#------buttonの動作------ 67def add_stock_btn(): 68 #追加ボタンを押したらその位置に次のtextboxを配置して,追加ボタンをずらす。(どれもyを30ずつ) 69 add_start_box() 70 add_goal_box() 71 wave_line() 72 move_addbutton() 73 74""" 75def open_folder(lbl): 76 dirpath = TKFDL.askdirectory() 77 lbl.configure(text = dirpath) 78""" 79 80#labelの配置 81lbl_ID001 = tk.Label(text = '銘柄コードを入力してください.') 82lbl_ID001.place(x = 10, y = 5) 83 84lbl_ID002 = tk.Label(text = '~') 85lbl_ID002.place(x = 150, y = 35) 86 87lbl_ID003 = tk.Label(text = '未選択') 88lbl_ID003.place(x = 150, y = 900) 89 90#textboxの配置 91stocknum_start = tk.Entry() 92stocknum_start.place(x = 15, y = 35) 93stocknum_start.configure(state = 'normal', width = 20) #readonlyで入力不可にする 94 95stocknum_goal = tk.Entry() 96stocknum_goal.place(x = 175, y = 35) 97stocknum_goal.configure(state = 'normal', width = 20) 98 99#buttonの配置 100add_stocknum_btn = tk.Button(win, text = '追加', command = lambda: add_stock_btn(), width = 40) 101add_stocknum_btn.place(x = 15, y = 65) 102 103""" 104dlfolder_btn = tk.Buttun(win, text = 'ダウンロード先フォルダ', command = lambda: open_folder(lbl_ID003), width = 40) 105dlfolder_btn.place(x = 15, y = 800) 106""" 107 108win.mainloop() 109

試したこと

正直に言って何もわからず,強いて言うならば,.pack()をつけても変わらなかったことです.

補足情報(FW/ツールのバージョンなど)

・python 3.7.6

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

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

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

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

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

guest

回答1

0

ベストアンサー

エラーを読みましょう。
未定義だと言われている名前にスペルミスはありませんか?

投稿2021/01/28 14:54

編集2021/01/28 14:56
kairi003

総合スコア1330

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

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

Okachan

2021/01/28 15:13

@Kairi003様 ご回答ありがとうございました! ただ単純にButtonのスペルを間違えていました...
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問