【问题标题】:How to get all files from a directory and display them on a list in tkinter - Python [closed]如何从目录中获取所有文件并将它们显示在 tkinter 的列表中 - Python [关闭]
【发布时间】:2016-08-05 01:44:19
【问题描述】:

这有点难以解释,但我会尽力而为。

假设有一个目录 (~/.profiles) 在这个目录中有两个文件(fileone.mspfiletwo.msp) 我用

将这些文件分配给一个变量

from os import listdir from os.path import isfile, join files = [f for f in listdir(mypath) if isfile(join(mypath, f))]

现在我想为这些文件中的每一个都有一个按钮,其中包含找到的文件的名称。 所以假设输出是 files = ["fileone.msp", "filetwo.msp"] ,现在我想要一个 tkinter 窗口,它有两个按钮,一个是 fileone.msp,另一个是 filetwo.msp。 如果是三个文件(第三个被称为filethree.msp),我想要三个按钮,每个按钮都有名称等等。

谢谢!我希望我能解释一下自己。

【问题讨论】:

  • 你应该从一个基本的 tkinter 教程开始。
  • 嗨,布莱恩!这不是我第一次使用 tkinter,也不是我的第二次,也不是我的第三次:p
  • 我以前做过几次tkinter程序,只是我不能做这个具体的事情。
  • 那么,您正在为这个问题苦苦挣扎吗?您所要问的只是如何显示两个按钮(或一个列表框——您的标题和正文似乎提出了两个不同的问题),没有比这更简单的了。
  • 我会修改我的问题:(

标签: python python-3.x tkinter


【解决方案1】:

如果我正确理解了这个问题(我怀疑我是否理解...),要从列表中创建按钮,您只需像执行任何其他任务一样遍历列表:

for file in files:
    button = tk.Button(root, text=file, ...)
    button.pack(...)

【讨论】:

  • 稍后再测试。你能为我提出一些建议来改善我的问题吗?
  • @HiperBolt:我能给出的最好建议是尝试用尽可能少的代码自行解决问题,然后在遇到困难时提出具体问题。
  • 有道理,现在我已经有了一个基础,我想我可以开始这样做了。无论哪种方式,我都不能问问题 2 天..
  • 有效!谁能想到这么简单!非常感谢! :)
  • 帮帮我,它会正确生成按钮,但是每当我给它分配一个命令(比如说它的 command=lambda: print(file) )它只会打印它制作的最后一个按钮跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-02
  • 2017-03-04
  • 2020-09-02
  • 2013-06-28
  • 1970-01-01
  • 2022-01-24
  • 2019-07-07
相关资源
最近更新 更多