【问题标题】:How do I set a maximum value in Tkinter?如何在 Tkinter 中设置最大值?
【发布时间】: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 an Entry widget 了解更多信息。
  • 为什么使用对话框而不是让他们以正常方式简单地调整窗口大小?
  • 不是窗口...我正在调整画布的大小。
  • 入口小部件支持验证。应该可以防止数字大于某个值。
  • 好的,你有示例代码吗。

标签: python tkinter tkinter-canvas


【解决方案1】:

为什么不使用 if 语句?并创建弹出错误消息`

if changeWidth.get() > 1300:
   newLabel = tk.Label(text="Enter Number Less 1300")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-29
    • 2023-02-15
    • 2022-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    相关资源
    最近更新 更多