tkinter:无法进入条目小部件

2024-02-19

我不明白为什么下面的输入框rackGUI.py在我的代码中是静态的/不允许输入任何内容。我相信所有的Entry对象被正确实例化。我将文本变量指定为StringVar()。我的直觉告诉我问题在于命令参数create_button实例化,但我不太确定为什么。我想通过设置command = lambda:function该函数将不会被调用。

点击后'New'在菜单中,main.py成功调用rackGUI.create()成功调用input_form()。单击按钮'create_button'成功调用drawRack打印到外壳'test'。我还添加了一个测试,在其中打印每个输入框的值类型,即print type(rack_name.get())这成功返回类型'str'.

因此,主要问题还是输入框是静态的。

下面是我的代码:

配置文件

"""
config.py
"""

import Tkinter as tk
import tkMessageBox as tkmb

#setup
root = tk.Tk()
root.title("TLA Database Tool")
frame = tk.Frame(height = 300, width = 250)
frame.pack()

main.py

#main.py
from config import *
import rackGUI

def createRackTemplate():
    rackGUI.create()
def loadRackTemplate():
    rackGUI.load()

menubar = tk.Menu(root)
filemenu = tk.Menu(menubar)
filemenu.add_command(label = "New", command = createRackTemplate)
filemenu.add_command(label = "Load", command = loadRackTemplate)
menubar.add_cascade(label = "File", menu = filemenu)

tkmb.showinfo("Welcome", "Under File click New to create a new rack template.\n\
Click load to load rack template.")
root.config(menu = menubar)
root.mainloop()

机架GUI.py

"""
rackGUI.py
"""
from config import *

def input_form():
    form_frame = tk.Frame(frame)
    form_frame.pack()

    tk.Label(form_frame, text = "Rack Template Name (e.g., Knox Type 4)").pack()
    rack_name = tk.Entry(form_frame, textvariable = tk.StringVar())
    rack_name.pack()
    tk.Label(form_frame, text = "Dimensions").pack()
    tk.Label(form_frame, text = "#rack rows").pack()
    num_rack_rows = tk.Entry(form_frame, textvariable = tk.StringVar())
    num_rack_rows.pack()
    tk.Label(form_frame, text = "#nodes per row").pack()
    num_slots = tk.Entry(form_frame, textvariable = tk.StringVar())
    num_slots.pack()

    create_button = tk.Button(form_frame, text = "Create!",\
              command = lambda: drawRack(rack_name, num_rack_rows, num_slots))
    create_button.pack()

def drawRack(rack_name, num_rack_rows, num_slots):
    print rack_name.get(), num_rack_rows.get(), num_slots.get()

def create():    
    input_form()

def load():
    pass

对于任何在我之后来到这里的人,我的解决方案最终是

root.overrideredirect(True)

在 Windows 上工作正常,但在 Mac 上导致此文本输入问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tkinter:无法进入条目小部件 的相关文章

随机推荐

  • 如何从 Android 应用程序显示 360 度全景图

    我想从我的 Android 应用程序显示全景图 该全景图在线 我有它的 url 我将其加载到网络视图上 但它无法正常工作 它只是出现它的一部分 并且不会翻转或上下移动 我不知道从哪里开始 你能给我指出正确的方向吗 先感谢您 经过大量研究后
  • OSGi/Felix声明式服务:如何过滤要绑定的服务?

    我正在使用 Apache Felix 及其声明性服务 SCR 来连接捆绑包之间的服务依赖关系 例如 如果我需要访问 java util Dictionary 我可以说以下内容让 SCR 提供一个 scr reference name pro
  • 在pyspark(2.2.0)中将CSV文件写入AWS时如何分配访问控制列表(ACL)?

    我知道我可以将我的 Spark 数据帧作为 CSV 文件输出到 AWS S3 df repartition 1 write csv s3 my bucket name df name 我的问题是有没有一种简单的方法可以将此文件的访问控制列表
  • 遍历/迭代任意深度的嵌套字典(字典表示目录树)

    在撰写本文时 Python 新手 出现这个问题是因为我希望用户能够从一个目录 以及任何子目录 中选择一组文件 不幸的是 Tkinter 在文件对话框中选择多个文件的默认功能在 Windows 7 上被破坏了 http bugs python
  • 取两个可为空值中的较大者

    假设我有两个可为空的整数 int a 10 int b 20 我想取最大的非空值 这样如果两个值都为空 则结果为空 我可以写一些冗长的东西 例如 int max if a null max b else if b null max a el
  • 控制器规范中的 RSpec 存根辅助方法

    发现类似的问题 但令人惊讶的是 我发现没有一个给出简单的答案 尝试在我的控制器规范中存根辅助方法 不太确定哪个对象需要加倍 控制器调用此方法 app helpers sessions helper rb def signed in curr
  • 在 Java 中将 XML 作为字符串读取

    有人可以帮我解决这个问题吗 我想知道如何将这个示例读取为字符串 我知道如何阅读第一个 但不知道如何阅读所有内容 tr tr
  • 如何声明具有多个具有非平凡关系的泛型类型的成员?

    这是我想在我的java代码中编写的内容 private a R extends Result gt MyType a
  • TlbImp.exe 无法注册 lib 文件:“.dll 不是有效的类型库”

    该 dll是FKAtend dll 附带生物识别设备的VB6 0 SDK 该 dll在VB6 0环境下工作正常 但是 当尝试在另一台具有 VS NET 环境的 PC 上注册它时 出现上述错误 我们使用 dependency walker 检
  • 通过在 MATLAB 中计算平均值进行下采样

    假设我有一个包含 44100 个样本的文件 采样频率为 fs 44100 Hz 所以我的文件是 1 秒长 我想将其下采样到 8 Hz 的采样频率 但我不想通过获取每个 44100 8 5512 5 样本并将其保存在新数组中来实现此目的 但通
  • 构建无法从 VisualStudio 运行,但可以从 msbuild 运行

    从 Visual Studio 中的全新控制台应用程序模板中 我编辑了 csproj构建另一个这样的项目
  • 单选按钮多项选择

    我有许多具有不同名称属性的单选按钮 我面临一个问题 每次我单击每个单选按钮时 我都可以选择全部 我正在使用单选按钮重定向到其他页面 我不想只选择一项 我正在使用 twitter bootstrap 选项卡在一页上显示多个内容 只需切换选项卡
  • 未捕获对象错误:无法注入 ngAnimate

    当我尝试像这样注入 ngAnimate 时 我无法实例化我的应用程序 var app angular module musicsa ngCookies ngResource ngSanitize ui router firebase ngA
  • 基本日期之间查询 $gte、$lte 等

    我在 mongo 查询的正确时间格式方面遇到问题 我的问题是 Is time Timemongo ISODate 对象的正确 go 类型 为什么我的时间解析似乎解析完全不同的日期 这是我正在做的事情的完整示例 package main im
  • 如何使用 ngrok 托管 HTML 文件?

    是否可以使用 NGROK 托管 HTML 文件 而不是 Web 应用程序 我真的对 NGROK 一无所知 我只是用它来托管 Twilio 应用程序的服务器 并且想用它来托管我的另一个项目的 HTML 文件 另外 有人知道如何在 Mac 上创
  • CSS 转换在 IE 中不起作用

    我无法在 IE 或 Firefox 中实现此转换 但在 Safari 和 Chrome 中看起来不错 不透明度显示但是即时的 对我来说 下面的 CSS 看起来是正确的 但我看不出它有任何理由可以在 IE 或 Firefox 中工作 我已经使
  • 我在编译时遇到找不到符号错误

    import java io File import java io BufferedReader import java io InputStreamReader import java io import java io InputSt
  • 如何通过 URL 访问 Jenkins 在 lastSuccessfulBuild 中创建的工件?

    我正在使用 Jenkins 管道构建 Android 应用程序 构建成功完成后 它会创建一个 apk 文件 我希望 QA 团队的成员能够下载此文件并在将其上传到 Google 商店之前测试该应用程序 因此我希望这些用户 有权访问 Jenki
  • 将项目添加到不可变的 Seq

    假设我有一个字符串序列作为输入 我想获得一个新的不可变的Seq它由输入的元素和一个项目组成 c 以下是我发现有效的两种方法 assert Seq a b c Seq a b Seq c 这个的问题是 似乎实例化了一个临时序列 Seq c 只
  • tkinter:无法进入条目小部件

    我不明白为什么下面的输入框rackGUI py在我的代码中是静态的 不允许输入任何内容 我相信所有的Entry对象被正确实例化 我将文本变量指定为StringVar 我的直觉告诉我问题在于命令参数create button实例化 但我不太确