Python tkinter 组合框

2024-04-08

当我单击组合框的名称而不使用“检查”等按钮来显示值时,我想填写我的条目。我怎样才能做到这一点?

import tkinter as tk
from tkinter import ttk
import csv

root = tk.Tk()
cb = ttk.Combobox(root,state='readonly')
labName = ttk.Label(root,text='Names: ')
labTel = ttk.Label(root,text='TelNum:')
labCity = ttk.Label(root,text='City: ')
entTel = ttk.Entry(root,state='readonly')
entCity = ttk.Entry(root,state='readonly')

with open('file.csv','r',newline='') as file:
    reader = csv.reader(file,delimiter='\t')    


cb.grid(row=0,column=1)
labName.grid(row=0,column=0)
labTel.grid(row=1,column=0)
entTel.grid(row=1,column=1)
labCity.grid(row=2,column=0)
entCity.grid(row=2,column=1)

您可以使用bind()执行函数on_select当您选择列表中的元素时。

cb.bind('<<ComboboxSelected>>', on_select)

在这个函数中你可以填写Entry.


来自 GitHub 的旧示例:组合框获取选择 https://github.com/furas/python-examples/blob/master/tkinter/combobox-get-selection/main.py

#!/usr/bin/env python3

import tkinter as tk
import tkinter.ttk as ttk

# --- functions ---

def on_select(event=None):
    print('----------------------------')

    if event: # <-- this works only with bind because `command=` doesn't send event
        print("event.widget:", event.widget.get())

    for i, x in enumerate(all_comboboxes):
        print("all_comboboxes[%d]: %s" % (i, x.get()))

# --- main ---

root = tk.Tk()

all_comboboxes = []

cb = ttk.Combobox(root, values=("1", "2", "3", "4", "5"))
cb.set("1")
cb.pack()
cb.bind('<<ComboboxSelected>>', on_select)

all_comboboxes.append(cb)

cb = ttk.Combobox(root, values=("A", "B", "C", "D", "E"))
cb.set("A")
cb.pack()
cb.bind('<<ComboboxSelected>>', on_select)

all_comboboxes.append(cb)

b = tk.Button(root, text="Show all selections", command=on_select)
b.pack()

root.mainloop()

EDIT:

Line if event: in on_select仅当您使用时才有效bind()因为它执行带有事件信息的函数。command=执行不带参数的函数,然后设置even=None进而if event:总是False.

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

Python tkinter 组合框 的相关文章

  • Flask-Mail - 基于 Flask-Cookiecutter 异步发送电子邮件

    我的烧瓶项目基于烧瓶饼干切割机 https github com sloria cookiecutter flask我需要异步发送电子邮件 发送电子邮件的功能由以下配置米格尔的教程 https blog miguelgrinberg com
  • self.assertRaises 作为上下文管理器,但 msg 参数未按预期工作

    请检查以下代码 import unittest CORRECT MESSAGE Correct message WRONG MESSAGE Wrong message def fn raise KeyError CORRECT MESSAG
  • Tweepy 流式传输错误

    我正在尝试使用 tweepy 和 textblob 分析推文的情绪 我执行了 pip install tweepy 并且安装成功 但出现以下错误 错误信息 文件 C Users joshey Desktop sent py 第 2 行 位于
  • 如何在 Python 中根据日期列绘制分类变量

    我有这样的数据 Date Fruit 2017 01 01 Orange 2017 01 01 Apple 2017 01 08 Orange 2017 01 09 Orange 2017 01 09 Apple 我想在一个图中按日期绘制橙
  • 更改用作函数全局作用域的字典

    我想做一个 purePython 的装饰器 其中一部分是能够有选择地禁止访问函数的全局范围 有没有一种方法可以以编程方式更改哪个字典事物充当函数的全局 外部作用域 因此 例如在下面我希望能够拦截对f in h并抛出错误 但我想允许访问g因为
  • 如何在保留图标的同时删除最小化/最大化按钮?

    是否可以显示我的图标toplevel and root删除最小化和最大化按钮后的窗口 我尝试使用 toolwindow但之后图标就无法显示了 有没有其他方法可以从窗口中删除最小和最大尺寸按钮 同时仍显示图标 from tkinter imp
  • 使用 Tabula 通过 Python 读取 pdf 时出现 Java 错误

    我已经安装了 tabula 库 用于使用 python 将 pdf 读取到 pandas 数据框中 但是当我运行代码时 import tabula df tabula read pdf sample1 pdf pages 1 我得到了例外
  • 用于多个窗口的 Tkinter 示例代码,为什么按钮无法正确加载?

    我正在编写一个程序 应该 按一下按钮即可打开一个窗口 按另一个按钮关闭新打开的窗口 我使用类 以便稍后可以将代码插入到更大的程序中 但是 我无法正确加载按钮 import tkinter as tk class Demo1 tk Frame
  • ValueError:使用火炬张量时需要解压的值太多

    对于神经网络项目 我使用 Pytorch 并使用 EMNIST 数据集 已经给出的代码加载到数据集中 train dataset dsets MNIST root data train True transform transforms T
  • Streamlabs API 405 响应代码

    我正在尝试使用Streamlabs API https dev streamlabs com Streamlabs API 使用 Oauth2 来创建应用程序 因此 首先我将使用我的应用程序的用户发送到一个授权链接 其中包含我的应用程序的客
  • 接收字母并返回字母表中(从 0 开始)数字位置的 Python 函数

    我正在尝试创建一个 Python 函数 它接收一个字母 只有一个字母字符的字符串 并返回该字母在字母表中从 0 开始的数字位置 它不应该区分大小写 而且我不能使用导入 所以输入 a 应该返回 0 输入 A 也应该返回 0 输入 O 应该返回
  • Tkinter 菜单删除项

    如何删除任何菜单项 例如我想删除 播放 self menubar Menu self root self root config menu self menubar self filemenu2 Menu self menubar self
  • wpf 中带有复选框通用控件的多选组合框

    我想创建控件 允许用户使用复选框从下拉列表中选择多个选项 我在 Google 上进行了搜索 得到了一些链接 例如 http code msdn microsoft com windowsapps Multi Select ComboBox
  • Python 2 的 `exceptions` 模块在 Python3 中丢失了,它的内容到哪里去了?

    一位朋友提到 对于 Python 2 假设您在命令行上的路径环境变量中有它 pydoc exceptions 非常有用 知道它应该可以为他每周节省几分钟的网络查找时间 我自己每周都会用谷歌搜索一次例外层次结构 所以这对我来说也是一个有用的提
  • ModuleNotFoundError:没有名为“bs4”的模块

    当我尝试像这样导入 BeautifulSoup 时 from bs4 import BeautifulSoup 当我运行我的代码时 我收到此错误消息 ModuleNotFoundError No module named bs4 如果有人知
  • matplotlib 图形的乳胶渲染文本中的中心标题

    我想将 Matplotlib 图形的标题居中 其中在渲染 LaTeX 样式时包含换行符返回 在标题中间插入 Latex 的简单返回代码可以工作 但不会使其居中 从而导致换行符从第一行尴尬地移动 from matplotlib import
  • 在组合框中显示可见工作表

    您好 我有以下代码来在组合框中显示工作表 创建工作表后 工作表会自动添加到列表中 我不希望隐藏的工作表在保管箱中可见 我怎么做 Option Explicit Private Sub ComboBox1 Change If ComboBox
  • 如何使用 PyCharm 运行 Pylint

    我想将 Pylint 配置为我正在处理的 Python 项目的整个项目目录中的外部工具 我尝试将存储库用作模块 init py没有的话 这两种方式都不起作用 我在设置 Pylint 与 PyCharm 一起运行时遇到困难 我知道我应该将它作
  • 如何在PIL中从ImageDraw中获取图像?

    我在我的项目中使用 PIL 并且有 ImageDraw 对象 我想获取在 ImageDraw 对象上绘制的图像 我如何获取图像 这是你想要的 from PIL import Image ImageDraw im Image new RGBA
  • 异常:加载数据时 URL 获取失败

    我正在尝试设置我的机器来运行 Tensorflow 2 我从未使用过 Tensorflow 只是下载了 Python 3 7 我不确定这是否是我的机器的问题 我按照上面列出的安装说明进行操作TensorFlow 的网站 https www

随机推荐

  • 使用 Javascript SDK 创建 Parse.File

    我遵循了法律条文 Javscript SDK 以及许多变体 但到目前为止我还无法将图像保存到 Parse File 我开始认为这是他们在放弃平台之前从未完成的代码 这是我的错误 无法构造 文件 需要 2 个参数 但仅存在 0 个 这是我的代
  • Rails/PostgreSQL - 查询更新所有日期添加 1 天

    我想执行 update all 查询来更新日期时间列 在所有行上将该列的当前值添加 1 天 我可以使用 each 和 update 来实现这一点 但在单个查询中执行会更有效 使用 Rails 和 PostgreSQL 可以实现这一点吗 UP
  • UnicodeDecodeError:“utf-8”编解码器无法解码位置 1 中的字节 0x8b:在 pandas 中读取 csv 文件时起始字节无效

    我知道类似的问题已经被问过 我已经看过所有这些问题并尝试过 但没有什么帮助 我正在使用 OSX 10 11 El Capitan python3 6 虚拟环境 也尝试过没有它 我使用的是jupyter笔记本和spyder3 我是 Pytho
  • java.lang.IllegalArgumentException:只能使用低 16 位作为 requestCode

    我正在写一个应用程序 其中Activity A发射Activity B using startActivityForResult intent 101 但当调用时 它会返回以下错误日志 E AndroidRuntime 1708 java
  • ASP.NET MVC 中的依赖下拉列表

    目前我有两个表 团队和员工 我正在完美填充团队的下拉列表 接下来我尝试根据员工团队的 selectedId 填充第二个下拉列表 控制器 GET CalView public ActionResult Index string ses str
  • 使用 Eigen 库存储 3D 数据

    如何使用 Eigen C 库存储 3D 数据 矢量用于 1D 数据 矩阵用于 2D 数据 但什么是 3D 数据 或者是否可以创建矩阵向量 您可以使用张量模块 但它还不稳定 Eigen Tensor
  • 在内核中添加新的 IOCTL(数字范围)

    我正在编写新的内核模块 并添加实现新的 IOCTL IOCTL 的编号是否应该遵循任何规则 也许有一些 用户范围 我在嵌入式平台上使用内核 2 6 21 IOCTL 被定义为与设备相关的 如果有 标准 ioctls 供人们实现 这些将是像这
  • 如何在 Xamarin.Mac 中捕获应用程序级别的按键事件

    我有一个 Xamarin Forms 应用程序 并使用主窗口中的 PreviewKeyDown 事件成功捕获 WPF 中的应用程序级别按下事件 如何在 AppDelegate 或其他方式中对 Xamarin Mac 执行相同的操作 您可以添
  • 如何在先前输入后使用 C++ 中的“获取”函数?

    我尝试输入数据gets 函数 但每当程序执行到留置权时gets 它会忽略它 当我使用gets 没有之前的数据输入 它可以正常运行 但是当我在输入数据后使用它时 就会出现问题 这是在先前的数据输入之后使用它的代码 因此在执行中我无法将数据输入
  • 如何保护我的 AngularJS 和 Web Api 应用程序

    我在 ASP NET Web Api 服务器端使用 AngularJS 在我看来 身份验证现在已经变得轻而易举了 或者这太好了以至于令人难以置信 所以我正在考虑使用Web Api的 个人用户帐户 身份验证 我想这就是我所需要的 只要每个请求
  • Keras 张量 - 使用来自另一个张量的索引获取值

    假设我有这两个张量 valueMatrix 形状为 3 where 是批量大小 indexMatrix 形状为 1 我想从中检索值valueMatrix在包含的索引处indexMatrix 示例 伪代码 valueMatrix 7 15 5
  • ANTLR4 Lexer 错误报告(违规字符的长度)

    我正在使用 ANTLR4 为某些语言开发一个小型 IDE 并且需要在词法分析器无法匹配错误字符时给它们下划线 内置的org antlr v4 runtime ANTLRErrorListener http www antlr org api
  • 从 JavaScript 到 PHP 的数据传输

    如何获取 PHP 浏览器的高度和宽度 就像从 JavaScript 到 PHP 的数据传输一样 随着使用innerHeight and InnerWidth 我认为 如果用户屏幕尺寸小 我只需要显示小图片 如果屏幕尺寸大 我只需要显示大图片
  • PHP post方法无法从url获取数据

    我有一个 URL 用于在浏览器中粘贴并按 Enter 键后获取发布数据 我的链接是 http vtrails us mixtape builder song urls http vtrails us wp content uploads 2
  • 如何在 Unity3D 中编辑动画

    我在层次结构中选择了一个带有动画组件的游戏对象 不是动画师 而是一个简单的动画 然后我尝试通过从 窗口 菜单中选择 动画 来打开动画窗口来编辑它 问题是动画窗口变灰 建议我创建一个新动画 但我只想编辑我已经拥有的一个 要编辑动画 您需要选择
  • 在 Swift 中追加字符串

    我是 iOS 新手 我目前正在使用 Objective C 和 Swift 学习 iOS 要在 Objective C 中附加字符串 我使用以下代码 NSString string1 This is NSString string2 Swi
  • getIntent() 和从 savingInstanceState 获取意图有什么区别?

    大家好 我正在尝试 Android 在 2 个类之间传递意图 我意识到有 2 种传递意图的方法 第一个是在这里使用 getIntent 方法 Bundle extras getIntent getExtras mRowId extras n
  • 为什么强制转换为泛型类型会生效?

    On 重温Java http javarevisited blogspot tw 2011 09 generics java example tutorial html 代码摘录如下 class Holder
  • Tar 一个目录,但不要在存档中存储完整的绝对路径

    我在备份 shell 脚本的一部分中有以下命令 tar cjf site1 bz2 var www site1 当我列出存档的内容时 我得到 tar tf site1 bz2 var www site1 style css var www
  • Python tkinter 组合框

    当我单击组合框的名称而不使用 检查 等按钮来显示值时 我想填写我的条目 我怎样才能做到这一点 import tkinter as tk from tkinter import ttk import csv root tk Tk cb ttk