前提・実現したいこと
Tkinterを用いて、GUIを作成しています。
以下のようなコードでGUIを作りました。
この内容を.pyファイルで問題なく実行できることを確認したあと、Pyinstallerを用いて.exe化したところ、以下のようなエラーが発生し、GUIが表示されませんでした。
※該当のソースコードは質問用に簡略化したものなので、エラーメッセージの行数と該当箇所が一致していません。
ここでは、21行目でエラーが起きています。
エラーの内容をネットで調べてみましたが、似た現象で悩んでいる方も見つからず、困っています。
お詳しい方や、何か心当たりのある方、ご回答よろしくお願いします!
該当のソースコード
python
1import tkinter as tk 2import tkinter.ttk as ttk 3from tkinter import filedialog 4from tkinter import messagebox 5 6 7 8win = tk.Tk() 9win.resizable(False, False) 10pad = {"padx": 5, "pady": 5} 11pad2 = {"padx": 5, "pady": 10} 12pad3 = {"padx": 5, "pady": 2} 13we = tk.W + tk.E 14cen = tk.CENTER 15 16win.title("tkinter") 17 18#フレーム1 19fra_top = tk.Frame(win, cnf=pad) 20fra_top.pack(expand=True, fill="x", padx=10) 21fra_top.columnconfigure([1, 3, 5], weight=1) 22fra_top.rowconfigure([0, 1, 2], weight=1) 23 24lbl1 = ttk.Label(fra_top, text="ファイルのパス:") 25lbl1.grid(row=0, column=0, cnf=pad, sticky=we) 26tex1 = tk.Entry(fra_top, width=50) 27tex1.grid(row=1, column=0, cnf=pad, sticky=we) 28 29lblvoid = ttk.Label(fra_top, text="") 30lblvoid.grid(row=2, column=0, cnf=pad) 31 32 33#フレーム2 34fra_mid = tk.Frame(win, cnf=pad) 35fra_mid.pack(expand=True, fill="x", padx=10) 36fra_mid.columnconfigure([1, 3, 5], weight=1) 37fra_mid.rowconfigure([0, 1, 2], weight=1) 38 39lbl2 = ttk.Label(fra_mid, text=" ああああああ [a]:") 40lbl2.grid(row=0, column=0, cnf=pad) 41tex2 = tk.Entry(fra_mid) 42tex2.grid(row=0, column=1, cnf=pad, sticky=we) 43 44lbl3 = ttk.Label(fra_mid, text=" ばばばばばば [b]:") 45lbl3.grid(row=1,column=0, cnf=pad) 46tex3 = tk.Entry(fra_mid) 47tex3.grid(row=1, column=1, cnf=pad, sticky=we) 48 49lbl4 = ttk.Label(fra_mid, text="くくくくくくくく [c]:") 50lbl4.grid(row=2, column=0, cnf=pad) 51tex4 = tk.Entry(fra_mid) 52tex4.grid(row=2, column=1, cnf=pad, sticky=we) 53 54lblvoid2 = ttk.Label(fra_mid, text="") 55lblvoid2.grid(row=3,column=0, cnf=pad2) 56 57#フレーム3 58fra_mid2 = tk.Frame(win, cnf=pad) 59fra_mid2.pack(expand=True, fill="x", padx=10) 60fra_mid2.columnconfigure([1, 3, 5], weight=1) 61fra_mid2.rowconfigure([0, 1, 2], weight=1) 62 63btnStyle = ttk.Style() 64btnStyle.configure("BoldBtn", weight="bold") 65btn = tk.Button(fra_mid2, text="ボタン", bg="#4682B4", fg="#FFFFFF", font=("",12,"bold","roman","normal","normal"), height=2, width=10, command=btn_click) 66#ボタンの関数に関しては省略 67 68 69#フレーム4 下余白 70fra_mid3 = tk.Frame(win, cnf=pad3) 71fra_mid3.pack(expand=True, fill="x", padx=10) 72fra_mid3.columnconfigure([1, 3, 5], weight=1) 73fra_mid3.rowconfigure([0, 1, 2], weight=1) 74 75lblvoid3 = ttk.Label(fra_mid3, text="") 76lblvoid3.grid(row=0,column=0, cnf=pad3) 77 78 79 80win.mainloop()
発生している問題・エラーメッセージ
Traceback (most recent call last): File "tkGUI.py", line 31, in <module> fra_top.columnconfigure([1, 3, 5], weight=1) File "lib-tk\Tkinter.py", line 1447, in grid_columnconfigure File "lib-tk\Tkinter.py", line 1437, in _grid_configure _tkinter.TclError: grid columnconfigure: illegal index "[1," [8012] Failed to execute script tkGUI
試したこと
以前こちらで教えていただいた通り、下記のサイトの内容を参考に.specファイルを書き換えてみましたが、実行できませんでした。
https://qiita.com/cheuora/items/39b3203400e1e15248ed
エラーの内容から、columnconfigureの書式に問題があるのは分かるのですが、ベタ打ちや.pyファイルとして実行した場合に問題なく実行できている手前、何がいけないのかよく分かりません。
補足情報(FW/ツールのバージョンなど)
Python 3.7.4
tkinter 8.6.9
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/20 04:30
2020/07/20 05:11 編集
2020/07/20 07:57
2020/07/20 08:36
2020/07/21 00:57
2020/07/21 05:33
2020/07/21 05:53
2020/07/21 06:34
2020/07/21 13:43
2020/07/21 20:10
2020/07/27 07:04