2020年3月5日木曜日

wxpython panelの複数表示及び下panelにNotebookを貼り付け






wxpython/notebook5.py


 1 # coding: UTF-8
  2 #@@@panelの複数表示及び下panelにNotebookを貼り付け
  3 #@@@ウィンドウの大きさが変わるのに未対応
  4
  5 # ノートブック
  6 # フィットしない点を改良したい できない
  7 # Notebookは 親がFrameなら自動でフィットするがPanelだと
  8 # どうしてもフィットしない。無理
  9
 10 #notebook3.pyが上の状態なので再考
 11 #子パネルを親パネルに貼り付けてOKとなる
 12
 13 import wx
 14
 15 class MyFrame(wx.Frame):
 16     def __init__(self, parent, id):
 17         size = (400, 300)
 18         wx.Frame.__init__(self, parent, id, size=size)
 19         p0 = wx.Panel(self)
 20
 21         #panelはsizerを使って配置が出来ないようだ。
 22         #panelは親にそのまま位置と大きさを指定して貼り付ける
 23         size = self.GetSize()
 24         print "size"
 25         print size
 26         y = int(size[1] / 2)
 27         x = size[0]
 28         p1 = wx.Panel(self, pos=(0, 0), size=(x, y))
 29         p2 = wx.Panel(self, pos=(0, y), size=(x, y))
 30         p1.SetBackgroundColour("green")
 31         p2.SetBackgroundColour("blue")
 32
 33         ly = wx.BoxSizer(wx.VERTICAL)
 34         note = MyNotebook(p2)
 35         ly.Add(note, 1, wx.EXPAND)
 36         p2.SetSizer(ly)
 37
 38         self.Show()
 39
 40
 41 class MyNotebook(wx.Notebook):
 42     def __init__(self, parent):
 43         wx.Notebook.__init__(self, parent, -1)
 44         pan1 = wx.Panel(self, -1)
 45         pan2 = wx.Panel(self, -1)
 46         self.AddPage(pan1, "Page 1")
 47         self.AddPage(pan2, "Page 2")
 48         # 固定テキスト1,2を パネル1,2に作成 
 49         #StTxt1 = "h" + "f"
 50         StTxt1 = wx.StaticText(pan1, -1, "Text1", pos=(20,20))
 51         StTxt2 = wx.StaticText(pan2, -1, "Text2", pos=(20,20))
 52
 53
 54 if __name__ == '__main__':
 55     app = wx.App(False)
 56     MyFrame(None, -1)
 57     app.MainLoop()

0 件のコメント:

コメントを投稿

About

参加ユーザー

連絡フォーム

名前

メール *

メッセージ *

ブログ アーカイブ

ページ

Featured Posts