📜  更改 MessageBox 的大小 – Tkinter

📅  最后修改于: 2022-05-13 01:55:44.968000             🧑  作者: Mango

更改 MessageBox 的大小 – Tkinter

Python有许多用于GUI的库。 Tkinter 是提供图形用户界面的库之一。对于短消息,我们可以使用 MessageBox 库。它具有许多有效接口的功能。在这个 MessageBox 库中提供了不同类型的函数来显示消息框。

  1. showinfo():-显示一些常用信息
  2. showwarning():-向用户显示警告
  3. showerror():-显示不同类型的错误
  4. 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()


输出:

python-tkinter-message-box-resizepython-tkinter-message-box-resize-2

默认情况下,消息框的大小为 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()

输出:

python-tkinter-messagebox-更改大小

2. 通过更改自述文件
这是消息框的另一个替代选项。在此,我们打开文件readme.txt,readme文件内容的长度决定了messagebox的大小。

输入文件:

蟒蛇9

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

输出:

python-tkinter-messagebox-change-size-2