【发布时间】:2021-01-04 17:28:37
【问题描述】:
我在 Tkinter 中创建了一个应用程序,我希望用户能够更改画布大小。当我单击根上的按钮时,它应该打开一个更改画布大小的对话框。我还想添加一个最大值,所以用户不能选择超过 1300 的宽度和 660 的高度。
这是我的代码:
from tkinter import *
root = Tk()
root.geometry("10000x10000")
canvas = Canvas().pack()
button = Button(root, text="Change Canvas Size").pack()
def changeCanvasSize():
root2 = Toplevel(root)
root2.title("Change the canvas Size")
widthText = Label(root2, text="Canvas Width").pack()
changeCanvasWidth = Entry(root2).pack()
changeCanvasWidth.insert(0, "1100")
heightText = Label(root2, text="Change Canvas Height").pack()
changeCanvasHeight = Entry(root2).pack()
changeCanvasHeight.insert(0, "566")
applySizes = Button(root2, text="Apply", command = lambda: canvas.configure(width=changeCanvasWidth.get(), height=changeCanvasHeight.get()))
root.mainloop()
那么我将如何设置最大值,宽度应为 1300 或更小,高度应为 600 或更小。我该怎么做?
【问题讨论】:
-
Entry小部件支持验证,因此您可以通过这种方式实施限制。请参阅Adding validation to anEntrywidget 了解更多信息。 -
为什么使用对话框而不是让他们以正常方式简单地调整窗口大小?
-
不是窗口...我正在调整画布的大小。
-
入口小部件支持验证。应该可以防止数字大于某个值。
-
好的,你有示例代码吗。
标签: python tkinter tkinter-canvas