【问题标题】:Drop Down Menu In Python calling information from filesPython中的下拉菜单从文件中调用信息
【发布时间】:2014-01-02 11:35:42
【问题描述】:

所以我需要一个下拉菜单,用户可以在其中选择他/她的客户,并返回有关该客户的信息。

假设我有一个文件:

["client1", "client2", "client3"]

我有这个代码:

from tkinter import *

master = Tk()

with open('ubclientlistvars.txt', 'r') as clients:
    clients = (clients.readlines())


variable = StringVar(master)
variable.set("Choose Client")

w = OptionMenu(master, variable, clients)
w.pack()

mainloop()

如何将文件中的客户端绘制到下拉菜单中? 当我运行此代码时,我得到以下两个选项: Choose Client{["client1", "client2", "client3"]}

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    您需要实际解析该文件。如果文件内容是您发布的内容,那么 readlines() 只会返回一行文本。它不会神奇地将文件内容转换为 Python 对象。假设文件是​​:

    client1
    client2
    client3
    

    然后你可以使用clients = [i.strip() for i in f.readlines()] 之类的东西来获取正确的客户列表并将它们传递给OptionMenu

    w = OptionMenu(master, variable, *clients)
    

    如果您无法更改文件格式,那么您需要在显示之前清理输入...

    import re
    data = f.read()  # ["client1", "client2", "client3"]
    data = re.sub('["\[\]]', '', data)  # remove the ", [, and ] characters
    clients = data.split(',')  # split the list of clients on the comma
    

    【讨论】:

      猜你喜欢
      • 2020-04-11
      • 2020-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      相关资源
      最近更新 更多