tkinter教程9:控件Message,彈出框Toplevel和Messagebox

tkinter教程9:控件Message,彈出框Toplevel和Messagebox


本文博客鏈接: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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章