微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 tkinter ttk 添加多项选择?

如何解决如何使用 tkinter ttk 添加多项选择?

import os
import tkinter as tk
from tkinter import *
from tkinter.ttk import *
root = Tk()
variable = StringVar(root)
variable = StringVar(root)
variable.set('GB')
w = ComboBox(root,values = choices)
w.pack(); root.mainloop()
choices = ['']
msedgelocation= 'my msedge location'
chromelocation= 'my chrome location'
if os.path.exists(msedgelocation):
# add msedge to choices
else:
if os.path.exists(chromelocation):
# add chrome to choices

这只会添加 1 个选项,如何更改脚本以添加多个选项? 最好只是代码和解释,但任何事情都有帮助。谢谢!

编辑:提交框也不错

解决方法

我稍微改进了你的代码:

from tkinter import Tk,StringVar
from tkinter.ttk import Combobox
import os


def get_choice(event):
    os.startfile(choices[event.widget.get()])


root = Tk()

variable = StringVar()
variable.set('GB')

choices = {'GB': 'gb.exe','AUS': 'aus.exe','USA': 'usa.exe','Chrome': 'chrome.exe'}


c_box = Combobox(root,values=list(choices.keys()),textvariable=variable,state='readonly')
c_box.pack()

c_box.bind('<<ComboboxSelected>>',get_choice)

root.mainloop()

首先,我得到了关于组合框 here 的所有信息,它被用简单的词表达出来。

另一件事是你应该用有意义的变量名来命名变量,而不仅仅是一个字母的名字,特别是如果你打算使用这个变量。

正如我在评论中提到的,建议您只导入您需要的内容,正如您在我提供的代码中看到的那样。

最后,正如@acw1668 在评论中已经提到的,.mainloop() 之后的代码只会在窗口关闭时执行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。