0

したがって、wxPython の Grid と Sizers に問題があります。このテーブルを含めると、何らかの形で書式設定が台無しになり、ウィンドウ全体が正しいサイズで表示され、項目が正しい場所に表示されます。

しかし、このテーブルが含まれている場合、内側のライトグレーはパネルだと思いますか? ただし、この暗い灰色のフィールドのため、テーブルの下のアイテムは非表示になっています

setcolsize 呼び出しを削除しても修正されません

返信ありがとうございます

    wx.Frame.__init__(self, parent, title=title)
    panel = wx.Panel(self)

    grid = wx.GridBagSizer(hgap=5, vgap=5)
    #  some other items comes before this
    # FileGrid
    fileF = wx.grid.Grid(panel)
    fileF.CreateGrid(2,3)
    fileF.SetColLabelSize(0)
    fileF.SetRowLabelSize(0)

    fileF.SetCellValue(0, 0, "Old")
    fileF.SetCellValue(0, 1, "New")
    fileF.SetCellValue(0, 2, "Update?")

    grid.Add(fileF, pos=(5,0))
    # FileGrid end

    runBtn = wx.Button(panel, wx.ID_APPLY, "Apply")
    self.Bind(wx.EVT_BUTTON, self.applyScRen, runBtn)
    grid.Add(runBtn, pos=(6,0))

    self.SetSizerAndFit(grid)

guiそのままの画像

4

1 に答える 1

1

完全なフレーム構造を提供するわけではありませんが、これで正しい軌道に乗るはずです。

最後の行を次のように変更します。

panel.SetSizerAndFit(grid)

それはすでに問題を改善しています。のコンテナは でsizerあり、これは のpanel中に含まれていframeます。

編集

このペーストビンには、完全に機能するバージョンがあります。この画像が生成され、その後にコードに加えた重要な変更が続きます。

wxPython フレームのスクリーンショット

    #panel.CreateStatusBar()
    vSizer.Add(grid, 0, wx.ALL, 5)
    panel.SetSizerAndFit(grid)
    self.CreateStatusBar()
    self.SetInitialSize()
    self.Show(True)
于 2012-04-22T11:06:08.410 に答える