gpt4 book ai didi

python - Tkinter 将 optionMenu 中选择的选项放入变量中以供进一步使用

转载 作者:行者123 更新时间:2023-12-01 08:54:35 26 4
gpt4 key购买 nike

在“tkinter”中创建下拉菜单时,如下所示:

options = ['0',
'1',
'2',
'3',
'4']

option = tk.OptionMenu(menu, var, *options)

var.set('Select number')

我想确切地知道如何获取用户选择的整数并将其转换为稍后可以使用的变量。

最佳答案

Question: how I can take the integer that the user has chosen

您将 options 定义为 str 列表,因此所选选项将分配给代码中的给定 textvariable 变量。要从 str 获取整数,请执行以下操作:

option_int = int(var.get())
<小时/>

工作示例,如何获取所选 OptionMenu 项目的 index:

import tkinter as tk

class myOptionMenu(tk.OptionMenu):
def __init__(self, parent):
self.item = tk.StringVar()
self.item.set("Select option") # default value
self.index = None
self.options = ['0. Option', '1. Option', '2. Option', '3. Option']

super().__init__(parent, self.item, *self.options, command=self.command)
self.pack()

def command(self, v):
# Loop 'options' to find the matching 'item', return the index
self.index = [i for i, s in enumerate(self.options) if s == self.item.get()][0]
print("def option({}), variable.get()=>{}, index:{}".format(v, self.item.get(), self.index))
# >>> def option(2. Option), variable.get()=>2. Option, index:2

root = tk.Tk()

option = myOptionMenu(root)

root.mainloop()

Usage in the main loop:

if option.item.get() == '2. Option':
print("Option {} is selected.".format(option.item.get()))

if option.index == 2:
print("Option {} is selected.".format(option.index))

使用 Python 进行测试:3.5.3 - TkVersion:8.6

关于python - Tkinter 将 optionMenu 中选择的选项放入变量中以供进一步使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52862893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com