当前位置: 首页 > 面试题库 >

比例功能不输出数字到变量?

景成和
2023-03-14
问题内容

因此由于某些原因,tkinter中的scale函数不想在scale上输出数字。我收到的只是0.0或什么都没有。这似乎与GUI和通过GUI调用函数有关。编写并在python
3.4中运行。

from tkinter import *
from tkinter import ttk
from tkinter import messagebox

iterations=30

def settings():
    global itervar, iterscale
    sGui = Tk()
    itervar = DoubleVar()

    iterscale = Scale(sGui, orient="horizontal", from_=1, to=1000, variable=itervar)
    iterscale.pack()

    iterbutton = Button(sGui, text="Save Settings", command=saveSettings)
    iterbutton.pack()

    sGui.mainloop()

def saveSettings():
    global iterations
    iterations = itervar.get()
    print(iterations)

def doNothing():
    pass

def main():
    global root, version
    root= Tk()

    menu = Menu(root)
    root.config(menu=menu)

    fileMenu = Menu(menu)
    menu.add_cascade(label="File", menu=fileMenu)
    fileMenu.add_command(label="Quit", command=quit)

    benchmarkMenu = Menu(menu)
    menu.add_cascade(label="Benchmark", menu=benchmarkMenu)
    benchmarkMenu.add_command(label="Run [All]", command=doNothing)
    benchmarkMenu.add_separator()
    benchmarkMenu.add_command(label="Settings", command=settings)

    root.mainloop()

#Main
main()

我已经单独尝试了这些功能settingssaveSettings它们可以正常工作,但是当我通过GUI调用它时,它似乎无法正常工作。

关于这个问题的任何想法,我唯一的解决方案是将settings函数和saveSettings函数放在另一个文件中,然后使用os.startfile("etc...")


问题答案:

最小修复:更改此

itervar = DoubleVar()

对此:

itervar = DoubleVar(sGui)

因为您有两个根应用程序(root并且sGui都是的实例Tk),所以隐式父窗口部件itervar是第一个创建的,root因此当您将tkinter指定为完全不同的应用程序的变量时,tkinter会感到困惑。

但我 强烈 建议您使用Toplevel实例将Windows保留为同一程序的一部分:

sGui = Toplevel(root)
...
#sGui.mainloop() #no longer need this

尽管如果您希望能够在 没有 主窗口的 情况下 运行设置窗口 则可以考虑将所有可见窗口Toplevels并隐藏实际的根目录:

                # I'm not sure if you want to call it this
abs_root = Tk() # but you are already using root
abs_root.withdraw() #hide the window

然后做 root = Toplevel(abs_root)

您可以.get通过直接使用比例来逐步淘汰变量:

iterations = iterscale.get()


 类似资料:
  • 问题内容: 我在bash脚本中具有简单的功能,我想将stdout作为输入传递给它。 我想以这种方式使用它。 当然,我使用了冗余函数echo和printf来简化问题,但是您明白了。现在,我收到一个“未找到”错误,我认为这意味着我的参数定界是错误的(“ $ 1”部分)。有什么建议么? 最初,jc_hms函数的用法如下: 但我想将结果存储在变量中,以便在将其发送到串行端口之前先进行进一步处理。 编辑:所

  • 我正在制作一个程序,每当时间达到一个小时,它就会执行一些东西。 代码如下: 它应该输出17(因为现在是17:00),但不输出任何内容。 为什么不呢?

  • 本文向大家介绍jQuery实现简易的输入框字数计数功能示例,包括了jQuery实现简易的输入框字数计数功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现简易的输入框字数计数功能。分享给大家供大家参考,具体如下: 运行效果图如下: 具体代码如下: PS:这里再为大家提供几款带有字数统计功能的在线工具供大家参考使用: 在线字数统计工具: http://tools.jb51

  • 我已经做了以下工作: 将所有非内容管理的字符串翻译打包到_;()或e()函数中 > 然而,我在页面上看到的只是翻译功能所在的空白区域。它应该默认为该文本,对吗?这就是英语。 我做错了什么?我花了很多时间研究这个。顺便说一句,我不完全确定是什么。php是关于,但删除它没有什么区别。对我来说,这似乎是函数的问题。 提前谢谢。

  • 本文向大家介绍java输入数字,输出倒序的实例,包括了java输入数字,输出倒序的实例的使用技巧和注意事项,需要的朋友参考一下 我就废话不多说了,大家还是直接看代码吧~ 控制台效果显示: 补充知识:Java实现整数的逆序输出(三种方法) Java实现整数的逆序输出和C语言相似。下面我介绍三种方法。 第一种:无限制整数的逆序输出。 第二种:非负整数的逆序输出(结果String化)。 第三种:非特殊情

  • ANDROID STUDIO帮助,VB.NET代码都是例子-(解决了!!) 所以,我看了一下Android Studio的“formater”。我读过无数关于小数点后的数字的帖子。我一点都不明白。 我不想四舍五入。 在VB.NET中,如果我想“格式化”一个数字,我们通常会这样做… 也..如果你能..不四舍五入。你能告诉我怎样格式化这个号码吗?是的,小数点后有X位数。 你能帮我回答第一个问题吗,如果

  • 问题内容: 我想在我的ipython Notebook中运行bash脚本,并将输出另存为python变量中的字符串,以进行进一步操作。基本上,我想将bash magic的输出传递给一个变量,例如,类似这样的输出: 问题答案: 怎么使用这个: 而不是魔术?使用该符号将以下命令作为shell命令运行,结果全部存储在中。要运行多个命令并收集所有命令的输出,只需组合一个快速的shell脚本即可。

  • 问题内容: 我正在调用一个函数来查询SQL表。我只需要一个单元格的结果。我无法从函数成功将单元格数据检索到变量中。 例如,如果我有一个包含以下内容的表: 我需要将FeedID值“ 15”捕获到一个变量中。我的SQL语句仅捕获FeedID,但我不知道如何提取值 这是我到目前为止的内容: 问题答案: 或者,如果您要查找简单的返回值而不是表以供以后处理,则可以使用以下代码。