0

我有一个 wxPython GUI 应用程序,其中包含 13 对 StaticText 控件,我希望能够为有问题的设置标签。

在回归分析方面,每对 StaticText 控件代表一个自变量及其系数。这些键:值对当前存储在 python 字典中,允许我在大部分工作中使用字典理解。

现在,我正在努力在我的 GUI 中显示我的 python 字典的内容。有什么想法吗?

我很高兴在 1 个 StaticText 控件标签内连接 key:value 对,因为我认为它不会那么混乱。

4

1 回答 1

2

我敢肯定有很多不同的方法可以做到这一点。我可能会使用 ListCtrl 或更好的 ObjectListView。但我继续使用 StaticText 控件创建了一个示例:

import wx

########################################################################
class MyPanel(wx.Panel):
    """"""

    #----------------------------------------------------------------------
    def __init__(self, parent):
        """Constructor"""
        wx.Panel.__init__(self, parent)

        self.mainSizer = wx.BoxSizer(wx.VERTICAL)
        self.createControls()
        self.SetSizer(self.mainSizer)

    #----------------------------------------------------------------------
    def createControls(self):
        """"""
        myDict = {"var1":"co-eff1", "var2":"co-eff2",
                  "var3":"co-eff3", "var4":"co-eff4",
                  "var5":"co-eff5", "var6":"co-eff6",
                  "var7":"co-eff7", "var8":"co-eff8",
                  "var9":"co-eff9", "var10":"co-eff10",
                  "var11":"co-eff11", "var12":"co-eff12",
                  "var13":"co-eff13"}
        for key in myDict:
            lblOne = wx.StaticText(self, label=key)
            lblTwo = wx.StaticText(self, label=myDict[key])

            sizer = wx.BoxSizer(wx.HORIZONTAL)
            sizer.Add(lblOne, 0, wx.ALL, 5)
            sizer.Add(lblTwo, 0, wx.ALL, 5)
            self.mainSizer.Add(sizer)

########################################################################
class MyFrame(wx.Frame):
    """"""

    #----------------------------------------------------------------------
    def __init__(self):
        """Constructor"""
        wx.Frame.__init__(self, None, title="Frame Example",
                          size=(400,400))
        panel = MyPanel(self)
        self.Show()

if __name__ == "__main__":
    app = wx.App(False)
    frame = MyFrame()
    app.MainLoop()

如果您想查看 ListCtrl 的外观,请下载 wxPython 演示包并查找 ListCtrl 演示。对于 ObjectListView,您可以阅读我的教程

于 2012-06-26T19:13:33.523 回答