python - 如何使用 tkinter.simpledialog 调用 "command"?

标签 python user-interface tkinter

所以我尝试创建一个对话框,要求用户使用 python 的内置 Tkinter 库进行输入(数字)。特别是,我在谷歌上搜索到这可以通过 simpledialog.askinteger 方法轻松实现。

在普通的 tkinter.button 中,我有参数“command”,它允许我调用方法。这就是我第一次在主窗口中制作这部分代码的方式:

   self.generate_game_button = tkinter.Button(self.main_window, text='Start!', \
        command=self.create_grid)

但是当我想在弹出窗口中询问这个数字时,在 tkinter.simpledialog.askinteger 中,命令没有参数,所以我无法调用我的 create_grid 方法...代码看起来像:

    def press_newgame(self):
        global a
        a = tkinter.simpledialog.askinteger('Inputz', 'Enter the gameboard size')

我的create_grid方法基本上使用输入的int创建一组按钮...我如何使用弹出窗口询问用户一个数字来实现这一点,然后调用类似于tkinter的创建网格方法。按钮有效吗?

我希望这是有道理的......谢谢。

最佳答案

嗯,这与简单按钮的工作方式不同,因为 askinteger 是一个对话框窗口,它并不总是存在,必须调用它,然后它将自动返回一个值——正如您所期望的那样。

所以我猜你想用给定的 a 值做一些事情(你可能想将它传递给 create_grid 方法,所以你所要做的就是调用获得整数值后的方法,如下所示:

def press_newgame(self):
    a = tkinter.simpledialog.askinteger('Inputz', 'Enter the gameboard size')
    self.create_grid(a)

关于python - 如何使用 tkinter.simpledialog 调用 "command"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20067147/

相关文章:

python - 如何在 Python 3.2 中导入 .xsd 或 .wsdl 文件

java UnsatisfiedLinkError awt.image

java - 将数组添加到 JTextField

python - tkinter .focus_set() 失败

python - 将 .lib 和 .h 文件转换为可在 Python 中使用的 DLL

Python 找不到 CSS 文件

javascript - 允许用户选择整个元素

python - 在 Python 线程中使用 Intvar/DoubleVar 是否安全?

Python 不更新表

python - 相当于 rpy2 中的 "$"?