tkInter 列表框中的隐藏 ID

2024-03-20

我想知道是否可以以某种方式将隐藏的 id 与列表框中的每个条目一起存储。原因是我有一个表,其中包含来自数据库的唯一 ID(用户不可见,但用于唯一标识每个记录)我将表缓存在内存中并使用键入的字典身份证号码

我想创建一个列表框,它允许我选择其中一条记录 - 显示的文本不是唯一的 ID,而是一个描述性字段(例如“名称”),该字段可能是唯一的,但这不是强制的,并且有上面没有索引。例如,如果我有:

Id  Name
--  ----
 2  Rod
 5  Jane
15  Freddy

然后选择Jane,我会以某种方式能够轻松访问 id5

我的问题是我找不到关联唯一 id 的方法(5)与选择(Jane)这样我就可以轻松识别缓存的记录。我知道我可以使用控制变量,但这只是给了我列表中所有字符串的列表 - 不是我想要的。此外,索引(例如插入索引)对于此目的似乎并不可靠。

我设法做到这一点的唯一方法是使用另一个字典将名称映射到 ID。由于多种原因,这并不是最优的。

我在这里错过了什么吗?有更简单的方法吗?


将您的 id 保存在列表中,然后使用.curselection()只要保持顺序相同,索引即可将它们映射回行 ID。

在你的例子中,Jane是您列表中的第二个选择,因此如果选择.curselection()回报1。如果你有一个rowids以同样的顺序列出,rowids[1]5:

>>> rowids = [2, 5, 15]
>>> rowids[listbox.curselection()]
5

比将名称映射到字典中的 rowid 更有效。

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

tkInter 列表框中的隐藏 ID 的相关文章

随机推荐

  • int 和 double 的均匀随机分布“基类”?

    我正在尝试创建一个用随机数填充列表的函数 并根据列表项的类型生成整数或浮点数 到目前为止 我已经想出了以下代码 并且它有效 template
  • Laravel 中使用 try 和 catch 进行错误处理 [重复]

    这个问题在这里已经有答案了 我想在我的应用程序中实现良好的错误处理 我强制使用此文件来捕获错误 应用 服务 PayUService try this gt buildXMLHeader Should be this gt buildXMLH
  • iOS 检测系统音量变化。私有 API 与否? AVSystemController_SystemVolumeDidChangeNotification

    可以听AVSystemController SystemVolumeDidChangeNotificationNSNotification 是否被视为 在 App Store 审核过程中 使用私有 API 在我的应用程序中 我需要显示和更新
  • MySql 中是否有用于添加列的“IF NOT EXISTS”子句?

    我需要在一些数据库上运行这个 MySql 代码 我怀疑其中一些数据库已经有了这个专栏 有没有类似的东西if not exists对于下面的代码 ALTER TABLE comments ADD COLUMN active int 1 NOT
  • Google Maps API V3 使用限制是每个网站访问者还是每个网络服务器?

    我对每天 2500 个地理编码请求的 API 使用限制是否感到困惑 http code google com apis maps documentation geocoding Limits http code google com api
  • 显示字段上内联 AJAX 调用的验证错误

    当 AJAX 调用返回验证失败时 我试图在字段 内联 上显示错误消息
  • 如何构造动态变量NAMES?

    我想循环数据 并创建动态地图 稍后可以将更多数据推入其中 例如 foreach item in bob john andy set item map end 这样以后我就可以这样做 bob map put foreach count som
  • 测试浏览器是否支持该样式

    我可以执行以下操作来检查浏览器是否不支持列计数 css3 属性 然后使用我自己的代码 if WebkitColumnCount in document body style MozColumnCount in document body s
  • 远程更新Jenkins“系统消息”字符串的方法?

    有没有办法远程插入 更新 Jenkins 系统消息 显示在屏幕顶部的实例描述 我们通过 API 部署 Jenkins 作业 并希望能够一目了然地知道部署了哪些版本的作业 没有用于修改系统消息的API 该值只能由配置窗口 https gith
  • NHibernate + ASP.NET + 在视图中打开会话 + L2Cache

    我正在使用 CodeProject 的众所周知的Open Session in View处理 NHibernate 会话 它能很好地与Level 2 Cache 有人成功做过吗 我应该使用NH Burrow反而 任何有关 ASP NET 最
  • 设置 hadoop 时 SSH 出现问题

    我是hadoop的新手 我在计算机上安装了Ubuntu 12 10 我想在一个节点上以伪分布式模式安装Hadoop 我搜索并获得了很多教程 但我在SSH方面遇到了问题 我做了什么教程说 我确信问题出在 SSH 上 我得到了 openssh
  • 如何随着方向的变化包含android计时器的值[重复]

    这个问题在这里已经有答案了 我正在构建一个简单的计时器应用程序 其中我使用 android 计时器来跟踪经过的时间 但是当我启动计时器并将方向更改为横向时 计时器会重置并再次显示 00 00 我希望它保持其价值 布局为portrait an
  • ImageView 中的动画scaleType =“centerCrop”

    有没有办法对scaleType centerCrop 进行动画处理 我需要将图像缩放到 certerCrop 以便图像可以覆盖 imageView 的整个区域 但我需要对其进行动画处理 以便在缩放图像之前向用户展示图像的实际外观 我打算这样
  • 实体框架 4 中的唯一键

    现有的数据库模式具有唯一的非主键以及一些依赖它们的外键 是否可以在 Entity Framework v4 中定义唯一键 不是主键 如何 实体框架6 1现在支持数据注释和 Fluent API 的唯一性 数据注释 参考 http msdn
  • 如何输出Django Admin生成的SQL

    如何输出 Django 管理员生成的 SQL 来查询 dangelist 页面的结果 我尝试覆盖queryset via def queryset self args kwargs qs super MyAdmin self queryse
  • 全局 css Reset * { margin: 0; 的缺点是什么?填充:0; }?

    全局 css Reset margin 0 的缺点是什么 填充 0 人们更喜欢 eric meyer 的 css 这是埃里克 梅耶尔 CSS html body div span applet object iframe h1 h2 h3
  • 错误:带有模板的“{”标记之前需要类名

    我正在尝试创建一个简单的基类和另一个继承它的类 我收到以下错误 guard room h 17 1 error expected class name before token 我看过其他帖子 似乎我在某个地方存在循环依赖 但我已尽我所读的
  • 将 vue 的槽嵌套在槽中

    更新 这是我在这里试图实现的简化版本 来自下面的线程对话 接受组件 A 接受组件 B 接受条件 if 条件为 true 用组件 A 包裹组件 B 并渲染 仅适用于其他情况 渲染组件 B I m有兴趣创建一个有条件地呈现包装器的组件 我估计理
  • 使用 php 创建一个 javascript 警报,其中包含 php 变量?

    我正在制作一个表单 当某些字段未填写或填写正确时 该表单应该创建一个 javascript 警报 我希望能够获取放入 php 变量中的错误消息并将其显示在 javascript 警报窗口中 以下代码不起作用 function died er
  • tkInter 列表框中的隐藏 ID

    我想知道是否可以以某种方式将隐藏的 id 与列表框中的每个条目一起存储 原因是我有一个表 其中包含来自数据库的唯一 ID 用户不可见 但用于唯一标识每个记录 我将表缓存在内存中并使用键入的字典身份证号码 我想创建一个列表框 它允许我选择其中