如何获取tkinter combobox选中的值在列表中的索引
时间: 2024-05-07 13:18:53 浏览: 293
可以使用`current()`方法获取combobox当前选中的值,再通过`index()`方法来获取该值在列表中的索引。具体代码如下:
```
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
# 创建一个列表和combobox
options = ["apple", "banana", "orange", "pear"]
combo = ttk.Combobox(root, values=options)
combo.pack()
def get_index():
# 获取选中的值的索引
selected_value = combo.current()
selected_index = options.index(selected_value)
print(selected_index)
button = tk.Button(root, text="Get Index", command=get_index)
button.pack()
root.mainloop()
```
当点击`Get Index`按钮时,会输出当前选中的值在列表中的索引。注意,`current()`方法返回的是选中值在combobox中的索引,而不是在列表中的索引,因此需要再用`options.index()`方法将选中值转换为在列表中的索引。
相关问题
python tkinter Combobox.current
Combobox.current是一个方法,用于获取或设置Combobox当前选中项的索引值。当不传入参数时,该方法返回当前选中项的索引值。当传入参数时,该方法将当前选中项的索引值设置为指定的值。
在给定的代码中,b1.current()用于获取当前选中项的索引值。如果想要将下拉框控件中的输入框中的内容修改为下拉列表的第三项,可以使用b1.current(newindex=2)来设置当前选中项的索引值为2。这样就可以实现将输入框中的内容修改为下拉列表的第三项。\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [Python tkinter -- 第15章 Combobox](https://blog.csdn.net/weixin_42272768/article/details/100808707)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
tkinter的combobox设置默认值
Tkinter中的Combobox(组合框)是一个下拉列表,允许用户从预定义的选项中选择一个。要设置Combobox的默认值,你需要在初始化时指定`state`和`value`参数。以下是一个简单的示例:
```python
from tkinter import *
from tkinter.ttk import Combobox
root = Tk()
# 创建一个下拉列表,设置默认值为"Option 1"
my_combobox = Combobox(root, values=["Option 1", "Option 2", "Option 3"], state="readonly")
my_combobox.current(0) # 设置默认选中第一个选项
my_combobox.pack() # 显示下拉框
root.mainloop()
```
在这个例子中:
- `values`参数是一个包含所有选项的列表。
- `state="readonly"`表示下拉框只读,不允许用户输入自己的文本。
- `current(0)`方法将默认选中的选项索引设置为0,对应的是"Option 1"。
如果你想让用户选择后立即显示默认值,也可以在`Combobox`创建后调用`set`方法:
```python
my_combobox.set("Option 1") # 在创建后设置默认值
```
阅读全文