本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.
python版本:3.5
开发环境:pyCharm
Message:
Message类似Entry,支持换行。
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()
运行结果:
弹出框Toplevel:
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()
运行结果:
Messagebox:
Messagebox是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()
运行结果:
点击确定后,会依次弹出其他消息框等待确定:
对话框:
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()
运行结果:
点击确定,result为True。点击取消,result为False