c语言编程笔录

首页 >   > 笔记大全

笔记大全

用Python Tk nter创建简易的消息提醒框

更新时间:2023-11-10

第一段:介绍Python Tkinter

在Python中,Tkinter是标准库中的重要模块,它是一个用于构建GUI(图形用户界面)的Python库。该库提供了许多组件(如按钮、标签、文本框等),以便用户可以轻松地创建具有交互性的应用程序。它非常适合编写简单和小型的GUI应用程序,并且可以跨平台使用(即可以在不同的操作系统上运行)。下面是一个简单的Tkinter程序,其目的是提供一个窗口。

import tkinter as tk

root = tk.Tk()
root.mainloop()

第二段:提醒框设计和布局

在我们的程序中,需要设计和布局一个简单的提醒框,用于在需要的时候显示消息。我们可以使用一个独立的窗口或对话框作为提醒框。下面是一个使用Toplevel组件(即一个顶级窗口)的示例,在点击“显示提醒框”按钮时,它会创建一个新的窗口,并在该窗口中显示一个消息。

import tkinter as tk
from tkinter import messagebox

root = tk.Tk()

def show_message():
    messagebox.showinfo("提醒", "这是一条消息提醒。")

button = tk.Button(root, text="显示提醒框", command=show_message)
button.pack()

root.mainloop()

第三段:添加文本框和输入框

有时候,我们需要让用户能够输入一些文本或进行选择,以更好地指定要显示的消息。我们可以使用Tkinter提供的标签(Label)和输入框(Entry)组件来实现。下面是一个示例程序,它包含一个单选按钮和一个文本框。当用户选择单选按钮并点击“显示提醒框”按钮时,程序会读取文本框的内容,并在弹出的消息框中显示选项再加上读取的文本。

import tkinter as tk
from tkinter import messagebox

root = tk.Tk()
root.geometry("300x200")

def show_message():
    message = ""
    if var.get() == 0:
        message = "选项A"
    else:
        message = "选项B"
    message += "\n" + entry.get()
    messagebox.showinfo("提醒", message)

var = tk.IntVar()
rbutton1 = tk.Radiobutton(root, text="选项A", variable=var, value=0)
rbutton2 = tk.Radiobutton(root, text="选项B", variable=var, value=1)

rbutton1.pack()
rbutton2.pack()

entry = tk.Entry(root)
entry.pack()

button = tk.Button(root, text="显示提醒框", command=show_message)
button.pack()

root.mainloop()

第四段:美化提醒框

最后,我们可以通过调整提醒框的大小、字体和颜色等属性,来增强其可读性。下面是一个示例程序,它使用messagebox模块中的一些其他函数,以不同的颜色和字体样式显示提醒框。

import tkinter as tk
from tkinter import messagebox

root = tk.Tk()
root.geometry("300x200")

def show_message():
    message = ""
    if var.get() == 0:
        message = "选项A"
    else:
        message = "选项B"
    message += "\n" + entry.get()
    
    messagebox.showwarning("提醒", message, icon="warning")
    messagebox.showerror("提醒", message, icon="error")
    messagebox.showinfo("提醒", message, icon="info")
    messagebox.askquestion("提醒", message, icon="question")
    messagebox.askokcancel("提醒", message, icon="warning")
    messagebox.askyesno("提醒", message, icon="info")

var = tk.IntVar()
rbutton1 = tk.Radiobutton(root, text="选项A", variable=var, value=0)
rbutton2 = tk.Radiobutton(root, text="选项B", variable=var, value=1)

rbutton1.pack()
rbutton2.pack()

entry = tk.Entry(root)
entry.pack()

button = tk.Button(root, text="显示提醒框", command=show_message)
button.pack()

root.mainloop()