我可以调整由 tkMessagebox 创建的消息框的大小吗?
Can I adjust the size of message box created by tkMessagebox?
我想用固定宽度的tkMessagebox 创建信息对话。我没有在 tkMessagebox.showinfo 函数中看到任何可以处理此问题的选项。有什么办法吗?谢谢!
据我所知,您无法调整 tkMessageBox 的大小,但如果您愿意付出努力,您可以创建自定义对话框。
这个小脚本演示了它:
from tkinter import * #If you get an error here, try Tkinter not tkinter
def Dialog1Display():
Dialog1 = Toplevel(height=100, width=100) #Here
def Dialog2Display():
Dialog2 = Toplevel(height=1000, width=1000) #Here
master=Tk()
Button1 = Button(master, text="Small", command=Dialog1Display)
Button2 = Button(master, text="Big", command=Dialog2Display)
Button1.pack()
Button2.pack()
master.mainloop()
当您 运行 脚本时,您应该会看到一个母版 window 出现,带有两个按钮,按下其中一个按钮后,您将创建一个 TopLevel
window 可以调整大小,如 #Here
指定的脚本所示。
这些顶级 windows 与标准 windows 一样,可以调整大小并具有子部件。
此外,如果您尝试将子部件打包或网格化到 TopLevel
window 中,那么您需要使用 .geometry
而不是 -width
或 -height
,这会是这样的:
from tkinter import *
def Dialog1Display():
Dialog1 = Toplevel()
Dialog1.geometry("100x100")
def Dialog2Display():
Dialog2 = Toplevel()
Dialog2.geometry("1000x1000")
master=Tk()
Button1 = Button(master, text="Small", command=Dialog1Display)
Button2 = Button(master, text="Big", command=Dialog2Display)
Button1.pack()
Button2.pack()
master.mainloop()
希望我有所帮助,请尝试阅读此处的 TopLevel
小部件:
http://effbot.org/tkinterbook/toplevel.htm
.option_add 可能仅适用于 linux 操作系统,但您可以控制字体、换行位置和框的宽度:
root.option_add('*Dialog.msg.font', 'Helvetica 24')
root.master.option_add('*Dialog.msg.width', 34)
root.master.option_add("*Dialog.msg.wrapLength", "6i")
(其中“6i”是以英寸为单位的线的长度)
我想用固定宽度的tkMessagebox 创建信息对话。我没有在 tkMessagebox.showinfo 函数中看到任何可以处理此问题的选项。有什么办法吗?谢谢!
据我所知,您无法调整 tkMessageBox 的大小,但如果您愿意付出努力,您可以创建自定义对话框。
这个小脚本演示了它:
from tkinter import * #If you get an error here, try Tkinter not tkinter
def Dialog1Display():
Dialog1 = Toplevel(height=100, width=100) #Here
def Dialog2Display():
Dialog2 = Toplevel(height=1000, width=1000) #Here
master=Tk()
Button1 = Button(master, text="Small", command=Dialog1Display)
Button2 = Button(master, text="Big", command=Dialog2Display)
Button1.pack()
Button2.pack()
master.mainloop()
当您 运行 脚本时,您应该会看到一个母版 window 出现,带有两个按钮,按下其中一个按钮后,您将创建一个 TopLevel
window 可以调整大小,如 #Here
指定的脚本所示。
这些顶级 windows 与标准 windows 一样,可以调整大小并具有子部件。
此外,如果您尝试将子部件打包或网格化到 TopLevel
window 中,那么您需要使用 .geometry
而不是 -width
或 -height
,这会是这样的:
from tkinter import *
def Dialog1Display():
Dialog1 = Toplevel()
Dialog1.geometry("100x100")
def Dialog2Display():
Dialog2 = Toplevel()
Dialog2.geometry("1000x1000")
master=Tk()
Button1 = Button(master, text="Small", command=Dialog1Display)
Button2 = Button(master, text="Big", command=Dialog2Display)
Button1.pack()
Button2.pack()
master.mainloop()
希望我有所帮助,请尝试阅读此处的 TopLevel
小部件:
http://effbot.org/tkinterbook/toplevel.htm
.option_add 可能仅适用于 linux 操作系统,但您可以控制字体、换行位置和框的宽度:
root.option_add('*Dialog.msg.font', 'Helvetica 24')
root.master.option_add('*Dialog.msg.width', 34)
root.master.option_add("*Dialog.msg.wrapLength", "6i")
(其中“6i”是以英寸为单位的线的长度)