一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

wxPython AUI介紹

 dinghj 2014-04-16

AUI(Advanced User Interface)模塊使得我們可以方便地開(kāi)發(fā)出美觀、易用的用戶界面。

面板管理

如下所示的界面包含了3個(gè)面板,面板實(shí)現(xiàn)了關(guān)閉、拖動(dòng)、Dock、最大化等功能,這可以通過(guò)很少的代碼方便地實(shí)現(xiàn):

代碼如下所示:

1: #!/usr/bin/env python
 2:
 3: import wx
 4: import wx.aui
 5:
 6: class MyFrame(wx.Frame):
 7:
 8:     def __init__(self, parent, id=-1, title='wx.aui Test',
 9:                  pos=wx.DefaultPosition, size=(800, 600),
 10:                  style=wx.DEFAULT_FRAME_STYLE):
 11:         wx.Frame.__init__(self, parent, id, title, pos, size, style)
 12:
 13:         self._mgr = wx.aui.AuiManager(self)
 14:
 15:         # create several text controls
 16:         text1 = wx.TextCtrl(self, -1, 'Pane 1 - sample text',
 17:                             wx.DefaultPosition, wx.Size(200,150),
 18:                             wx.NO_BORDER | wx.TE_MULTILINE)
 19:
 20:         text2 = wx.TextCtrl(self, -1, 'Pane 2 - sample text',
 21:                             wx.DefaultPosition, wx.Size(200,150),
 22:                             wx.NO_BORDER | wx.TE_MULTILINE)
 23:
 24:         text3 = wx.TextCtrl(self, -1, 'Main content window',
 25:                             wx.DefaultPosition, wx.Size(200,150),
 26:                             wx.NO_BORDER | wx.TE_MULTILINE)
 27:
 28:         # add the panes to the manager
 29:         self._mgr.AddPane(window=text1, info=wx.aui.AuiPaneInfo().Left().MaximizeButton(True))
 30:         self._mgr.AddPane(window=text2, info=wx.aui.AuiPaneInfo().Bottom().MaximizeButton(True))
 31:         self._mgr.AddPane(window=text3, info=wx.aui.AuiPaneInfo().Center())
 32:
 33:         # tell the manager to 'commit' all the changes just made
 34:         self._mgr.Update()
 35:
 36:         self.Bind(wx.EVT_CLOSE, self.OnClose)
 37:
 38:     def OnClose(self, event):
 39:         # deinitialize the frame manager
 40:         self._mgr.UnInit()
 41:         # delete the frame
 42:         self.Destroy()
 43:
 44: app = wx.App()
 45: frame = MyFrame(None)
 46: frame.Show()
 47: app.MainLoop()

如上代碼所示,AUI簡(jiǎn)單易用,其使用方法總結(jié)如下:

  • 生成AuiManager實(shí)例

以wx.Frame或其子類的實(shí)例為參數(shù),用來(lái)生成一個(gè)AuiManager實(shí)例以實(shí)現(xiàn)對(duì)該Frame實(shí)例的管理;

self._mgr = wx.aui.AuiManager(self)

  • 添加面板

AuiManager中可以添加若干個(gè)面板;它使用AuiPaneInfo用來(lái)控制面板的位置、大小等屬性;(參見(jiàn)行29-31)

  • 更新AuiManager實(shí)例

調(diào)用Update()方法將AuiManager中的面板添加到其所管理的Frame中;

self._mgr.Update()

  • 卸載AuiManager實(shí)例

退出應(yīng)用程序時(shí)應(yīng)調(diào)用UnInit方法以回收資源。

self._mgr.UnInit()

工具欄

工具欄也可以作為面板添加在AuiManager中,實(shí)現(xiàn)工具欄的浮動(dòng)等功能;如下圖所示:

需要在面板管理中的代碼中添加兩段代碼:生成和添加工具欄。

生成工具欄

 1: # Create toolbar
 2:         toolbar = wx.ToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize,
 3:                          wx.TB_FLAT | wx.TB_NODIVIDER | wx.TB_HORZ_TEXT)
 4:
 5:         toolbar.SetToolBitmapSize(wx.Size(16,16))
 6:         toolbar_bmp1 = wx.ArtProvider_GetBitmap(wx.ART_NORMAL_FILE, wx.ART_OTHER, wx.Size(16, 16))
 7:         toolbar.AddLabelTool(101, "Item 1", toolbar_bmp1)
 8:         toolbar.AddLabelTool(101, "Item 2", toolbar_bmp1)
 9:         toolbar.AddLabelTool(101, "Item 3", toolbar_bmp1)
 10:         toolbar.AddLabelTool(101, "Item 4", toolbar_bmp1)
 11:         toolbar.AddSeparator()
 12:         toolbar.AddLabelTool(101, "Item 5", toolbar_bmp1)
 13:         toolbar.AddLabelTool(101, "Item 6", toolbar_bmp1)
 14:         toolbar.AddLabelTool(101, "Item 7", toolbar_bmp1)
 15:         toolbar.AddLabelTool(101, "Item 8", toolbar_bmp1)
 16:         toolbar.Realize()

加工具欄

1:	self._mgr.AddPane(toolbar, wx.aui.AuiPaneInfo(). 
2:      Name("toolbar").Caption("Toolbar Demo"). 
3:      ToolbarPane().Top(). 
4:      LeftDockable(False).RightDockable(False))

 

參考資源

http://www./docs/api/wx.aui-module.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    五月激情综合在线视频| 国产在线一区二区免费| 麻豆最新出品国产精品| 国产美女精品午夜福利视频 | 日本不卡在线一区二区三区| 国产欧美日产中文一区| 成人精品网一区二区三区| 妻子的新妈妈中文字幕| 永久福利盒子日韩日韩| 日本一二三区不卡免费| 草草视频福利在线观看| 欧美日韩久久精品一区二区| 懂色一区二区三区四区| 日韩在线一区中文字幕| 欧美日韩一级aa大片| 国产精品欧美一级免费| 国产丝袜极品黑色高跟鞋| 久久99夜色精品噜噜亚洲av| 美女极度色诱视频在线观看| 国产精品一区二区成人在线| 欧美日韩欧美国产另类| 国产一级一片内射视频在线| 国产精品一区二区三区激情| 亚洲欧美日韩网友自拍| 欧美中文日韩一区久久| 91亚洲精品国产一区| 韩日黄片在线免费观看| 午夜精品一区二区av| 日韩特级黄片免费观看| 日本本亚洲三级在线播放| 国产免费成人激情视频| 国产中文字幕久久黄色片| 国产日韩欧美综合视频| 欧美日韩校园春色激情偷拍| 一区二区三区免费公开| 男女一进一出午夜视频| 亚洲欧美日韩色图七区| 亚洲最新的黄色录像在线| 亚洲精品日韩欧美精品| 精品人妻精品一区二区三区| 一区二区三区日韩中文|