Học Multiple Document Interface Làm dự án nhận lương – Trung tâm đào tạo Toidayhoc

Học Multiple Document Interface Làm dự án nhận lương

 

 

wxPython – Multiple Document Interface



 
 

Một ứng dụng GUI thông thường có thể có nhiều cửa sổ. Các tiện ích có tab và xếp chồng cho phép kích hoạt một cửa sổ như vậy tại một thời điểm. Tuy nhiên, nhiều lần cách tiếp cận này có thể không hữu ích vì chế độ xem các cửa sổ khác bị ẩn. Một cách để hiển thị nhiều cửa sổ cùng lúc là tạo chúng thành các cửa sổ độc lập. Đây được gọi là SDI (Giao diện tài liệu đơn). Điều này đòi hỏi nhiều tài nguyên bộ nhớ hơn vì mỗi cửa sổ có thể có hệ thống menu, thanh công cụ, v.v. riêng. Khung MDI trong wxPython cung cấp một lớp wx.MDIParentFrame. Đối tượng của nó hoạt động như một vùng chứa cho nhiều cửa sổ con, mỗi cửa sổ là một đối tượng của lớp wx.MDIChildFrame. Các cửa sổ con nằm trong vùng MDIClientWindow của khung cha. Ngay khi một khung con được thêm vào, thanh menu của khung cha sẽ hiển thị một menu Cửa sổ chứa các nút để sắp xếp các cửa sổ con theo kiểu xếp tầng hoặc xếp ô.

Example

The following example illustrates the uses of MDIParentFrame as top level window. A Menu button called NewWindow adds a child window in the client area. Multiple windows can be added and then arranged in a cascaded or tiled order.

The complete code is as follows −

import wx 
 
class MDIFrame(wx.MDIParentFrame): 
   def __init__(self): 
      wx.MDIParentFrame.__init__(self, None, -1, "MDI Parent", size = (600,400)) 
      menu = wx.Menu() 
      menu.Append(5000, "&New Window") 
      menu.Append(5001, "&Exit") 
      menubar = wx.MenuBar() 
      menubar.Append(menu, "&File") 
		
      self.SetMenuBar(menubar) 
      self.Bind(wx.EVT_MENU, self.OnNewWindow, id = 5000) 
      self.Bind(wx.EVT_MENU, self.OnExit, id = 5001) 
		
   def OnExit(self, evt): 
      self.Close(True)  
		
   def OnNewWindow(self, evt): 
      win = wx.MDIChildFrame(self, -1, "Child Window")
      win.Show(True) 
		
app = wx.App() 
frame = MDIFrame() 
frame.Show() 
app.MainLoop()

The above code produces the following output −

MDI output

 
 

 

Vừa học vừa làm vừa nhận lương tại trung tâm Toidayhoc

Leave a Reply

Your email address will not be published. Required fields are marked *

Translate »