我是靠谱客的博主 单薄哈密瓜,最近开发中收集的这篇文章主要介绍tkinter库 -- Message和MessageboxMessageMessagebox,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
目录
- Message
- Message 说明
- Message 示例
- Messagebox
- Messagebox参数说明
- Messagebox示例
Message
Message 说明
Widget 控件中的 Message 主要是可以显示短消息,它的功能与Label类似,但是使用起来更灵活,可自动分行。对于一些不想再做进一步编辑的短文,可以使用 Message 显示。构造方法如下:
Message(master, **options)
第一个参数:父对象,表示这个标签将建立在哪一个父对象内
第二个参数:options,消息的配置参数
序号 | 参数 | 含义 |
---|---|---|
1 | anchor | 如果空间大于所需时,控制消息的位置,默认是CENTER |
2 | aspect | 控件宽度与高度比, 默认是150% |
3 | bd | 边界宽度, 默认是两个像素 |
4 | background | 背景色彩 |
5 | bg | 背景色彩 |
6 | bitmap | 使用默认位图当做Message内容 |
7 | cursor | 当鼠标光标移至按钮上时的形状 |
8 | foreground | 前景色彩 |
9 | fg | 前景色彩 |
10 | font | 字形、字形样式与大小 |
11 | height | 高,单位是字符高 |
12 | image | Message 以图像方式呈现 |
13 | justify | 当有多行文字时,最后一行文字的对齐方式, 取值为LEFT/CENTER/RIGHT(靠左/居中/靠右), 默认是居中对齐 |
14 | padx/pady | Message 文字与边框的间距,单位是像素 |
15 | relief | 可由此控制文字外框, 默认是relief=FLAT |
16 | text | Message 内容,如果有"n"则可以输入当行文字 |
17 | textvariable | 文字变量 |
18 | underline | 可以设置第几个文字有下划线,从0开始算起, 默认是-1,表示无下划线 |
19 | width | 宽,单位是字符宽 |
20 | wraplength | 文本在多少宽度后换行,单位是像素 |
Message 示例
import tkinter
root = tkinter.Tk()
message = tkinter.Message(root, bg="lightgreen", text="鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。", font="times 12 italic")
message.pack(padx=10, pady=10)
text = tkinter.StringVar()
text.set("春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。")
message1 = tkinter.Message(root, bg="pink", textvariable=text, font="times 12 italic")
message1.pack(padx=10, pady=10)
root.mainloop()
运行结果:
Messagebox
Messagebox参数说明
Python 中的tkinter模块内有Messagebox模块,消息窗口(messagebox)用于弹出提示框向用户进行告警,或让用户选择下一步如何操作。
消息框包括很多类型,常用的有info、warning、error、yesno、okcancel等,包含不同的图标、按钮以及弹出提示音。
消息窗口(title, Message, *options)
第一个参数:title,是对话框的名称
第二个参数:message,是对话框的文字
第三个参数:options,选择性参数,参数如下:
- default 选择默认按钮,也可以更改此设定值有abort, retry, ignore, ok, cancel, no, or yes
- icon 可设定所显示的图标
有INFO、ERROR、 QUESTION、WARNING四种图标可以选择 - parent 指出当对话框关闭时,焦点窗口将返回此父窗口
如果运用的得体的好,这些都可以自由组合
Messagebox示例
# 消息窗口
import tkinter as tk
from tkinter import messagebox as msgbox
def showinfo():
msgbox.showinfo("提示", "今天是2022年11月")
def showwarning():
msgbox.showwarning("警告", "警告:不要删除代码")
def showerror():
msgbox.showerror("错误", "出现错误!!")
def askquestion():
msgbox.askquestion("疑问", "确定吗?")
def askokcancel():
msgbox.askokcancel("确定", "是否确定?")
def askyesno():
msgbox.askyesno("是否", "请做出你的选择")
def askretrycancel():
msgbox.askretrycancel("重试", "是否重试?")
def askyesno_b():
msgbox.askyesno("提示", "今天是2022年11月", default=msgbox.NO, icon=msgbox.ERROR)
root = tk.Tk()
root.title("MsgBox Test")
root.geometry('300x300')
btn1 = tk.Button(root, text = "showinfo", bg='lightyellow', command = showinfo)
btn1.pack(fill = tk.X)
btn2 = tk.Button(root, text = "showwarning", command = showwarning)
btn2.pack(fill = tk.X)
btn3 = tk.Button(root, text = "showerror", bg='lightyellow', command = showerror)
btn3.pack(fill = tk.X)
btn4 = tk.Button(root, text = "askquestion", command = askquestion)
btn4.pack(fill = tk.X)
btn5 = tk.Button(root, text = "askokcancel", bg='lightyellow', command = askokcancel)
btn5.pack(fill = tk.X)
btn6 = tk.Button(root, text = "askyesno", command = askyesno)
btn6.pack(fill = tk.X)
btn7 = tk.Button(root, text = "askretrycancel", bg='lightyellow', command = askretrycancel)
btn7.pack(fill = tk.X)
# 变化参数设置
btn8 = tk.Button(root, text = "askyesno_b", bg='lightgreen', command = askyesno_b)
btn8.pack(fill = tk.X)
root.mainloop()
运行结果:
最后
以上就是单薄哈密瓜为你收集整理的tkinter库 -- Message和MessageboxMessageMessagebox的全部内容,希望文章能够帮你解决tkinter库 -- Message和MessageboxMessageMessagebox所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复