Добавлен документ ворд для тестов.
Гарантированно работает главная страница
This commit is contained in:
52
gui/lab1.py
Normal file
52
gui/lab1.py
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
import wx
|
||||||
|
|
||||||
|
|
||||||
|
# Some classes to use for the notebook pages. Obviously you would
|
||||||
|
# want to use something more meaningful for your application, these
|
||||||
|
# are just for illustration.
|
||||||
|
|
||||||
|
class PageOne(wx.Panel):
|
||||||
|
def __init__(self, parent):
|
||||||
|
wx.Panel.__init__(self, parent)
|
||||||
|
t = wx.StaticText(self, -1, "This is a PageOne object", (20,20))
|
||||||
|
|
||||||
|
class PageTwo(wx.Panel):
|
||||||
|
def __init__(self, parent):
|
||||||
|
wx.Panel.__init__(self, parent)
|
||||||
|
t = wx.StaticText(self, -1, "This is a PageTwo object", (40,40))
|
||||||
|
|
||||||
|
class PageThree(wx.Panel):
|
||||||
|
def __init__(self, parent):
|
||||||
|
wx.Panel.__init__(self, parent)
|
||||||
|
t = wx.StaticText(self, -1, "This is a PageThree object", (60,60))
|
||||||
|
|
||||||
|
|
||||||
|
class MainFrame(wx.Frame):
|
||||||
|
def __init__(self):
|
||||||
|
wx.Frame.__init__(self, None, title="Simple Notebook Example")
|
||||||
|
|
||||||
|
# Here we create a panel and a notebook on the panel
|
||||||
|
p = wx.Panel(self)
|
||||||
|
nb = wx.Notebook(p)
|
||||||
|
|
||||||
|
# create the page windows as children of the notebook
|
||||||
|
page1 = PageOne(nb)
|
||||||
|
page2 = PageTwo(nb)
|
||||||
|
page3 = PageThree(nb)
|
||||||
|
|
||||||
|
# add the pages to the notebook with the label to show on the tab
|
||||||
|
nb.AddPage(page1, "Page 1")
|
||||||
|
nb.AddPage(page2, "Page 2")
|
||||||
|
nb.AddPage(page3, "Page 3")
|
||||||
|
|
||||||
|
# finally, put the notebook in a sizer for the panel to manage
|
||||||
|
# the layout
|
||||||
|
sizer = wx.BoxSizer()
|
||||||
|
sizer.Add(nb, 1, wx.EXPAND)
|
||||||
|
p.SetSizer(sizer)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
app = wx.App()
|
||||||
|
MainFrame().Show()
|
||||||
|
app.MainLoop()
|
||||||
56
gui/second_page.py
Normal file
56
gui/second_page.py
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
import wx
|
||||||
|
|
||||||
|
|
||||||
|
class SecondPage(wx.Frame):
|
||||||
|
|
||||||
|
def __init__(self, parent):
|
||||||
|
wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"SecondPage", pos=wx.DefaultPosition,
|
||||||
|
size=wx.Size(500, 300), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)
|
||||||
|
|
||||||
|
self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)
|
||||||
|
|
||||||
|
fgSizer3 = wx.FlexGridSizer(0, 1, 0, 0)
|
||||||
|
fgSizer3.SetFlexibleDirection(wx.BOTH)
|
||||||
|
fgSizer3.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED)
|
||||||
|
|
||||||
|
self.m_staticText5 = wx.StaticText(self, wx.ID_ANY, u"MyLabel", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
|
self.m_staticText5.Wrap(-1)
|
||||||
|
fgSizer3.Add(self.m_staticText5, 0, wx.ALL, 5)
|
||||||
|
|
||||||
|
self.m_radioBtn9 = wx.RadioButton(self, wx.ID_ANY, u"RadioBtn", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
|
fgSizer3.Add(self.m_radioBtn9, 0, wx.ALL, 5)
|
||||||
|
|
||||||
|
self.m_radioBtn10 = wx.RadioButton(self, wx.ID_ANY, u"RadioBtn", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
|
fgSizer3.Add(self.m_radioBtn10, 0, wx.ALL, 5)
|
||||||
|
|
||||||
|
self.m_radioBtn11 = wx.RadioButton(self, wx.ID_ANY, u"RadioBtn", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
|
fgSizer3.Add(self.m_radioBtn11, 0, wx.ALL, 5)
|
||||||
|
|
||||||
|
self.m_radioBtn12 = wx.RadioButton(self, wx.ID_ANY, u"RadioBtn", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
|
fgSizer3.Add(self.m_radioBtn12, 0, wx.ALL, 5)
|
||||||
|
|
||||||
|
self.SetSizer(fgSizer3)
|
||||||
|
self.Layout()
|
||||||
|
|
||||||
|
self.Centre(wx.BOTH)
|
||||||
|
|
||||||
|
# Connect Events
|
||||||
|
self.m_radioBtn9.Bind(wx.EVT_LEFT_DCLICK, self.lab1)
|
||||||
|
self.m_radioBtn10.Bind(wx.EVT_LEFT_DCLICK, self.lab1)
|
||||||
|
|
||||||
|
def __del__(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Virtual event handlers, overide them in your derived class
|
||||||
|
def lab1(self, event):
|
||||||
|
from gui import third_page
|
||||||
|
nex_page = third_page.MainFrame()
|
||||||
|
nex_page.Show()
|
||||||
|
|
||||||
|
|
||||||
|
app = wx.App(False)
|
||||||
|
frame = SecondPage(None)
|
||||||
|
frame.Show()
|
||||||
|
app.MainLoop()
|
||||||
|
|
||||||
|
|
||||||
52
gui/third_page.py
Normal file
52
gui/third_page.py
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
import wx
|
||||||
|
|
||||||
|
|
||||||
|
# Some classes to use for the notebook pages. Obviously you would
|
||||||
|
# want to use something more meaningful for your application, these
|
||||||
|
# are just for illustration.
|
||||||
|
|
||||||
|
class PageOne(wx.Panel):
|
||||||
|
def __init__(self, parent):
|
||||||
|
wx.Panel.__init__(self, parent)
|
||||||
|
t = wx.StaticText(self, -1, "This is a PageOne object", (20,20))
|
||||||
|
|
||||||
|
class PageTwo(wx.Panel):
|
||||||
|
def __init__(self, parent):
|
||||||
|
wx.Panel.__init__(self, parent)
|
||||||
|
t = wx.StaticText(self, -1, "This is a PageTwo object", (40,40))
|
||||||
|
|
||||||
|
class PageThree(wx.Panel):
|
||||||
|
def __init__(self, parent):
|
||||||
|
wx.Panel.__init__(self, parent)
|
||||||
|
t = wx.StaticText(self, -1, "This is a PageThree object", (60,60))
|
||||||
|
|
||||||
|
|
||||||
|
class MainFrame(wx.Frame):
|
||||||
|
def __init__(self):
|
||||||
|
wx.Frame.__init__(self, None, title="Simple Notebook Example")
|
||||||
|
|
||||||
|
# Here we create a panel and a notebook on the panel
|
||||||
|
p = wx.Panel(self)
|
||||||
|
nb = wx.Notebook(p)
|
||||||
|
|
||||||
|
# create the page windows as children of the notebook
|
||||||
|
page1 = PageOne(nb)
|
||||||
|
page2 = PageTwo(nb)
|
||||||
|
page3 = PageThree(nb)
|
||||||
|
|
||||||
|
# add the pages to the notebook with the label to show on the tab
|
||||||
|
nb.AddPage(page1, "Page 1")
|
||||||
|
nb.AddPage(page2, "Page 2")
|
||||||
|
nb.AddPage(page3, "Page 3")
|
||||||
|
|
||||||
|
# finally, put the notebook in a sizer for the panel to manage
|
||||||
|
# the layout
|
||||||
|
sizer = wx.BoxSizer()
|
||||||
|
sizer.Add(nb, 1, wx.EXPAND)
|
||||||
|
p.SetSizer(sizer)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
app = wx.App()
|
||||||
|
MainFrame().Show()
|
||||||
|
app.MainLoop()
|
||||||
16
main.py
16
main.py
@@ -11,7 +11,7 @@ class MainPage(wx.Frame):
|
|||||||
|
|
||||||
self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)
|
self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)
|
||||||
|
|
||||||
sizer_all = wx.FlexGridSizer(2, 2, 0, 0)
|
sizer_all = wx.FlexGridSizer(3, 2, 0, 0)
|
||||||
sizer_all.SetFlexibleDirection(wx.BOTH)
|
sizer_all.SetFlexibleDirection(wx.BOTH)
|
||||||
sizer_all.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED)
|
sizer_all.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED)
|
||||||
|
|
||||||
@@ -29,11 +29,25 @@ class MainPage(wx.Frame):
|
|||||||
self.pswd_txt = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, style=wx.TE_PASSWORD)
|
self.pswd_txt = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, style=wx.TE_PASSWORD)
|
||||||
sizer_all.Add(self.pswd_txt, 0, wx.ALL, 5)
|
sizer_all.Add(self.pswd_txt, 0, wx.ALL, 5)
|
||||||
|
|
||||||
|
|
||||||
|
self.lgn_button = wx.Button(self, wx.ID_ANY, u"Войти")
|
||||||
|
sizer_all.Add(self.lgn_button,0, wx.ALL, 5)
|
||||||
|
|
||||||
self.SetSizer(sizer_all)
|
self.SetSizer(sizer_all)
|
||||||
self.Layout()
|
self.Layout()
|
||||||
|
|
||||||
self.Centre(wx.BOTH)
|
self.Centre(wx.BOTH)
|
||||||
|
|
||||||
|
# Connect Events
|
||||||
|
self.lgn_button.Bind(wx.EVT_BUTTON, self.login)
|
||||||
|
|
||||||
|
|
||||||
|
def login(self, event):
|
||||||
|
from gui import second_page
|
||||||
|
nxt_page = second_page.SecondPage(None)
|
||||||
|
nxt_page.Show()
|
||||||
|
nxt_page.Destroy()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user