0

問題のあるラベルを設定できるようにしたい 13 組の StaticText コントロールを含む wxPython GUI アプリケーションがあります。

回帰分析に関しては、StaticText コントロールの各ペアは、独立変数とその係数を表します。これらのキーと値のペアは現在 Python 辞書に格納されているため、多くの作業で辞書内包表記を使用できます。

現在、Python 辞書の内容を GUI 内に表示するのに苦労しています。何かご意見は?

キーと値のペアを 1 つの StaticText コントロール ラベル内に連結することで、煩雑さが軽減されると思います。

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 に答える