我有一个wxPython GUI应用程序,其中包含13对StaticText控件,我希望能够设置有问题的标签。
在回归分析方面,每对StaticText控件代表一个独立变量及其系数。这些键:值对当前存储在python字典中,允许我对我的大部分工作使用字典理解。
现在,我正在努力在我的GUI中显示我的python字典的内容。有什么想法吗?
我很高兴在1个StaticText控件标签中连接key:value对,因为我觉得它不会那么混乱。
答案 0 :(得分: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,您可以阅读我的tutorial。