tkinter tutorial 9: control Message, pop-up box Toplevel and Messagebox

tkinter tutorial 9: control Message, pop-up box Toplevel and Messagebox


This article blog link: http://blog.csdn.net/jdh99 , Author: jdh, reprint please specify.

 

surroundings:

python version: 3.5

Development environment: pyCharm

 

Source code:

Message:

Message is similar to Entry and supports line breaks.

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()

operation result:

 

Toplevel pop-up box:

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()

operation result:

 

Messagebox:

Messagebox is a pop-up box that comes with tkinter. It supports message boxes, dialog boxes, file selection dialog boxes, color selectors, etc. The function is more complicated, this article introduces the message box and dialog box.

Message Box:

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()

operation result:

After clicking OK, other message boxes will pop up in turn to wait for confirmation:

   

 

Dialog:

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()

operation result:

Click OK, the result is True. Click cancel, result is False

Guess you like

Origin blog.csdn.net/jdh99/article/details/90228862