【问题标题】:Opening different windows in wxPython using strings from a list使用列表中的字符串在 wxPython 中打开不同的窗口
【发布时间】:2010-01-12 22:39:42
【问题描述】:

我有一个存储为字符串的文件位置列表。我希望能够为所有不同的字符串打开一个单独的窗口。最好的方法是什么?本质上,您单击一个按钮,构建字符串并将它们留在列表中。当我做原型时,我构建了一个小程序来显示一个静态文件的内容。它可以工作,但位置是静态的。我想向单击按钮功能添加一个程序,该程序将遍历列表并在新窗口中打开每个内容。现在列表已构建,窗口打开时显示内容,但我不知道如何将两者结合起来。与往常一样,非常感谢任何帮助。

【问题讨论】:

    标签: python list wxpython iteration


    【解决方案1】:
    for s in mystrings:
        open_window_for_string(s)
    

    如果您知道如何打开包含文件内容的窗口,我相信您可以提供 open_window_for_string 的定义...

    此外,它实际上不必是一个参数的函数,当然,将其定义为接受任何必要的附加参数。或者使用任何表达式来打开您想要使用的窗口类型,而无需将其包装在函数中。

    事实上,只需使用您用来显示静态文件的代码,将文件名替换为一个变量(可能称为filename),然后使用for 循环遍历您的字符串列表。简单!

    【讨论】:

    • 我想我的问题是如何从静态中获取该定义。在独立版本中,它只是 pathname = 'c:\foobar',它被传递给一个窗口。要让它来自这个生成列表,我会怎么做。伪代码: class pathWindow(pathname): windowDisplay(pathname) 我真的不确定。当我尝试做这样的事情时,我没有定义路径名。
    • 嗯,class pathWindow(pathname): ...,在 Python 中,表示类 pathWindow 的声明,它继承自类 pathname。大概您希望 pathname 成为您类的构造函数的参数,因此将其定义为:def __init__(self, pathname): ...(在您的类的主体中)。此外,如果您真的希望有人为您写出来,那么 (1) 重新考虑并查找文档而不是 ,如果失败了,(2) 发布您正在使用的实际代码将路径名累积到列表中并在窗口中打开单个文件,下次我会尽力帮助您。
    • Michal,我已经在另一个问题中详细说明了:stackoverflow.com/questions/2059786/…
    • 很好,尽管您可以将新信息编辑到此信息中。无论如何,显然你已经收到了一些建议,我会看看我是否可以提供更多的改进。
    猜你喜欢
    • 2011-02-17
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多