tkinterチュートリアル9:コントロールメッセージ、ポップアップボックストップレベルおよびメッセージボックス
この記事のブログリンク:http://blog.csdn.net/jdh99、著者:jdh、転載を指定してください。
周囲:
Pythonバージョン:3.5
開発環境:pyCharm
ソースコード:
メッセージ:
メッセージはエントリに似ており、改行をサポートしています。
import tkinter as tk
import threading
def main():
threading.Thread(target=gui_thread).start()
def gui_thread():
root = tk.Tk()
app = App(root)
root.mainloop()
class App:
def __init__(self, root):
frame = tk.Frame(root)
frame.pack()
# Message
tk.Message(frame, text='消息:明天下雨', width=100).grid(row=0, column=0)
tk.Message(frame, text='消息:后天晴天', width=40).grid(row=1, column=0)
if __name__ == '__main__':
main()
演算結果:
トップレベルのポップアップボックス:
import tkinter as tk
import threading
def main():
threading.Thread(target=gui_thread).start()
def gui_thread():
root = tk.Tk()
app = App(root)
root.mainloop()
class App:
def __init__(self, root):
root.title("测试Toplevel")
frame = tk.Frame(root)
frame.pack()
tk.Label(frame, text="主窗口").grid(row=0, column=0)
# Toplevel
self.toplevel1 = tk.Toplevel()
self.toplevel1.title('自定义弹出框')
self.message1 = tk.Message(self.toplevel1, text='你好')
self.message1.pack()
if __name__ == '__main__':
main()
演算結果:
メッセージボックス:
メッセージボックスはtkinterに付属するポップアップボックスで、メッセージボックス、ダイアログボックス、ファイル選択ダイアログボックス、カラーセレクターなどをサポートします。関数はもっと複雑です、この記事はメッセージボックスとダイアログボックスを紹介します。
メッセージボックス:
import tkinter as tk
import threading
import tkinter.messagebox as mb
def main():
threading.Thread(target=gui_thread).start()
def gui_thread():
root = tk.Tk()
app = App(root)
root.mainloop()
class App:
def __init__(self, root):
frame = tk.Frame(root)
frame.pack()
tk.Label(frame, text="主窗口").grid(row=0, column=0)
# 消息框
mb.showinfo('消息框', '这是tk自带的消息框')
mb.showwarning('消息框', '这是tk自带的消息框')
mb.showerror('消息框', '这是tk自带的消息框')
if __name__ == '__main__':
main()
演算結果:
[OK]をクリックすると、確認を待つために他のメッセージボックスが順番にポップアップ表示されます。
ダイアログ:
import tkinter as tk
import threading
import tkinter.messagebox as mb
def main():
threading.Thread(target=gui_thread).start()
def gui_thread():
root = tk.Tk()
app = App(root)
root.mainloop()
class App:
def __init__(self, root):
frame = tk.Frame(root)
frame.pack()
tk.Label(frame, text="主窗口").grid(row=0, column=0)
tk.Button(frame, text='点击弹出对话框', command=self.pop_dialog).grid(row=1, column=0)
@staticmethod
def pop_dialog():
result = mb.askokcancel('对话框:提示', '是否确定?')
print(result)
if __name__ == '__main__':
main()
演算結果:
[OK]をクリックすると、結果はTrueになります。[キャンセル]をクリックすると、結果はFalseになります