2
私のアプリには疑問符のついた小さなボタンがあります。クリックすると、アプリケーションの機能を説明するのに役立つ関数のドキュメント文字列が表示されます。Python PyInstaller TkinterボタンはMessageboxに結びついていません
問題は、私はpyInstallerのを使用して単一の.exeファイルを構築し、クリックされたときに、この疑問符ボタンは、何もしない、です。
レクリエーションステップ
pyinstaller.exe --onefile --windowed run.py
- が
dist
フォルダに移動して、単一のexeファイルを実行するようrun.py - オープンコマンドプロンプト
- ペースト以下のファイルを保存
- クリック
?
ボタンを押しても何もしないことに気づく
run.py
import tkinter as tk
from tkinter import ttk
''' pyinstaller.exe --onefile --windowed run.py '''
def someotherfunction():
'''
This is some message that I
want to appear but it currently doesn\'t
seem to work
when I put try to launch a messagebox
showinfo window...
'''
pass
def showhelpwindow():
return tk.messagebox.showinfo(title='How to use this tool',
message=someotherfunction.__doc__)
root = tk.Tk()
helpbutton = ttk.Button(root, text='?', command=showhelpwindow, width=2)
helpbutton.grid(row=0, column=3, sticky='e')
root.mainloop()
下記の私のセットアップ:
- pyInstallerの3.2
- のWindows 7
- のPython 3.4.2
私は--noupx
オプションを追加しようとしたが、それはそれを修正しませんでした。
EDIT:
私は、このボタンをクリックすると、この時間とコンソールが今私にエラーを示している--windowed
オプションを削除しました。
Exception in Tkinter callback
Traceback (most recent call last):
File "tkinter\__init__.py", line 1533, in __call__
File "run.py", line 156, in showhelpwindow
AttributeError: 'module' object has no attribute 'messagebox'
'--windowed'オプションを削除し、コマンドラインから.exeファイルを実行すると、ボタンをクリックしたときにエラーが発生しますか?私は自分自身でそれをやるが、今はPython 3をインストールしていない。 – Repiklis
@Repiklis助けてくれてありがとう!私はあなたが示唆したようにして、問題を明らかにしました。私はimport文を使ってmessageboxモジュールをインポートする必要がありました。私は下に私の仕事のソリューションを投稿します。 – Jarad