更改 MessageBox 的大小 – Tkinter
Python有许多用于GUI的库。 Tkinter 是提供图形用户界面的库之一。对于短消息,我们可以使用 MessageBox 库。它具有许多有效接口的功能。在这个 MessageBox 库中提供了不同类型的函数来显示消息框。
- showinfo():-显示一些常用信息
- showwarning():-向用户显示警告
- showerror():-显示不同类型的错误
- askquestion():-向用户提问
例子:
Python3
# MessageBox Illustration of showinfo() function
from tkinter import *
from tkinter import messagebox
# creating window object
top = Tk()
def Button_1():
messagebox.showinfo("Status",
"Button-1 Pressed")
def Button_2():
messagebox.showinfo("Status",
"Button-2 Pressed")
# size for window
top.geometry("100x100")
B1 = Button(top, text = "Button-1",
command = Button_1)
B2 = Button(top, text = "Button-2",
command = Button_2)
B1.pack()
B2.pack()
top.mainloop()
Python3
from tkinter import *
main = Tk()
# variable for text
str_var = StringVar()
# Message Function
label = Message( main, textvariable=str_var,
relief=RAISED )
# The size of the text determines
# the size of the messagebox
str_var.set("You can't Change Your Profile Picture ")
label.pack()
main.mainloop()
Python3
from tkinter import *
from tkinter import messagebox
top = Tk()
def helpfile(filetype):
if filetype==1:
with open("read.txt") as f:
# reading file
readme = f.read()
# Display whole message
messagebox.showinfo(title="Title",
message = str(readme))
# Driver code
helpfile(1)
top.mainloop()
输出:
默认情况下,消息框的大小为 Fix。我们不能改变那个 Message Box 的大小。不同的盒子有不同的尺寸。但是,我们可以为此目的使用不同的替代方法
- 消息小部件
- 通过更改自述文件
1.消息小部件
MessageBox 库不提供更改框配置的功能。我们可以使用其他函数。该消息也可用于显示信息。消息的大小就是窗口的大小,这样我们就可以通过geometry,pack来设置消息的大小。
Python3
from tkinter import *
main = Tk()
# variable for text
str_var = StringVar()
# Message Function
label = Message( main, textvariable=str_var,
relief=RAISED )
# The size of the text determines
# the size of the messagebox
str_var.set("You can't Change Your Profile Picture ")
label.pack()
main.mainloop()
输出:
2. 通过更改自述文件
这是消息框的另一个替代选项。在此,我们打开文件readme.txt,readme文件内容的长度决定了messagebox的大小。
输入文件:
Python3
from tkinter import *
from tkinter import messagebox
top = Tk()
def helpfile(filetype):
if filetype==1:
with open("read.txt") as f:
# reading file
readme = f.read()
# Display whole message
messagebox.showinfo(title="Title",
message = str(readme))
# Driver code
helpfile(1)
top.mainloop()
输出: