フルスクリーンのTkinter GUIで異なるボタンを押すプログラムを作成しようとしています。これらのボタンのプリフォームの操作は私の質問には関係ありませんが、ユーザーがボタンを押すことを確認するためのポップアップダイアログ(askokcancel)の作成に問題があり、「ok」を押すとそのボタンの残りのコードを正常に実行します。現在、私はこのプログラムでは、ここで私は私のpythonファイルを含むフォルダにディレクトリを変更し、それが私をロードする必要がありデスクトップから実行するとtkMessageBoxポップアップが表示されず、起動時に表示される
sudoのナノ/ etc/profileを
を介してアクセス、起動から/ etc/profileファイルを走るいますコードを起動して起動すると、正しくボタンがロードされ、正しいボタンを押すと、ポップアップウィンドウが全画面ウィンドウに表示されます。しかし、デスクトップシェルでコードを実行しようとすると、ボタンを押すとポップアップウィンドウが表示されますが、ルートウィンドウの背後には表示されません。他の場所をクリックすることはできません。「タブ」と「入力」を押すと、2つの選択肢の間をナビゲートして1つを選択できますが、それを見ることはできません。シェルに単語を印刷するボタンがあるので、実際にはポップアップウィンドウが表示されています。
全画面では、タスクバーやその他のオプションを隠して、overrideredirect関数を使用します。これがFALSEに設定されている場合、ポップアップは意図したとおりに動作しますが、GUIを画面上の唯一のものにしようとしています。ここで
は、私のコードの要約版です:
from Tkinter import*
import tkMessageBox
class Application(Frame):
def run(self):
tkMessageBox.askokcancel("Run Confirmation!", "Are you sure?")
print "RUN Code Intitates"
def createWidgets(self):
self.button1 = Button(self,height=15,width=20)
self.button1["command"] = self.run
self.button1.pack({"side": "left"})
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
root = Tk()
w, h = root.winfo_screenwidth(), root.winfo_screenheight()
root.overrideredirect(1)
root.geometry("%dx%d+0+0" % (800, 480))
app = Application(master=root)
app.mainloop()
root.destroy()
私はコンピュータサイエンスの主要決して午前のみ数週間のためにラズベリーパイ、Tkinterの、とPythonでの作業なので、私ならばされています基本的な何かが欠けている私は謝罪する。私は私の画面としてラズベリーパイのために作られた8" タッチスクリーンディスプレイを使用しています