# -*- coding: utf-8 -*-
###########################################################################
## Python code generated with wxFormBuilder (version Jun 17 2015)
## http://www.wxformbuilder.org/
##
## PLEASE DO "NOT" EDIT THIS FILE!
###########################################################################
import wx
import wx.xrc
import csv
###########################################################################
## Python 2.7
## wx-3.0-msw
###########################################################################
class MyFrame ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"xz", pos = wx.DefaultPosition, size = wx.Size( 355,300 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
bSizer1 = wx.BoxSizer( wx.VERTICAL )
bSizer3 = wx.BoxSizer( wx.HORIZONTAL )
self.m_spinCtrl1 = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 1, 1000000, 0 )
bSizer3.Add( self.m_spinCtrl1, 1, wx.ALL, 5 )
self.m_button1 = wx.Button( self, wx.ID_ANY, u"ok", wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer3.Add( self.m_button1, 0, wx.ALL, 5 )
bSizer1.Add( bSizer3, 0, wx.EXPAND, 5 )
bSizer4 = wx.BoxSizer( wx.VERTICAL )
self.m_scrolledWindow3 = wx.ScrolledWindow( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.HSCROLL|wx.VSCROLL )
self.m_scrolledWindow3.SetScrollRate( 5, 5 )
self.bSizer9 = wx.BoxSizer( wx.VERTICAL )
self.tbl = []
self.bSizer9.Add( self.xz(), 1, wx.EXPAND, 5 )
self.m_scrolledWindow3.SetSizer( self.bSizer9 )
self.m_scrolledWindow3.Layout()
self.bSizer9.Fit( self.m_scrolledWindow3 )
bSizer4.Add( self.m_scrolledWindow3, 1, wx.EXPAND |wx.ALL, 5 )
bSizer1.Add( bSizer4, 1, wx.EXPAND, 5 )
bSizer6 = wx.BoxSizer( wx.HORIZONTAL )
self.m_button5 = wx.Button( self, wx.ID_ANY, u"save", wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer6.Add( self.m_button5, 1, wx.ALL, 5 )
bSizer1.Add( bSizer6, 0, wx.EXPAND, 5 )
self.SetSizer( bSizer1 )
self.Layout()
self.Centre( wx.BOTH )
# Connect Events
self.Bind( wx.EVT_CLOSE, self.close_btn )
self.m_button1.Bind( wx.EVT_BUTTON, self.btn_ok_evt )
self.m_button5.Bind( wx.EVT_BUTTON, self.btn_save_evt )
def __del__( self ):
pass
# Virtual event handlers, overide them in your derived class
def btn_ok_evt( self, event ):
self.gen(self.m_spinCtrl1.Value)
event.Skip()
def close_btn( self, event ):
exit()
event.Skip()
def btn_save_evt( self, event ):
# пример
with wx.FileDialog(self, "Save csv file", wildcard="csv files (*.csv)|*.csv",
style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) as fileDialog:
if fileDialog.ShowModal() == wx.ID_CANCEL:
return # the user changed their mind
# save the current contents in the file
pathname = fileDialog.GetPath()
try:
with open(pathname, 'w') as csvfile:
writer = csv.writer(csvfile, delimiter=',',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
for i in self.tbl:
writer.writerow([i[0].GetLineText(0), i[1].GetLineText(0)])
except IOError:
wx.LogError("Cannot save current data in file '%s'." % pathname)
event.Skip()
def xz(self):
bSizer10 = wx.BoxSizer( wx.HORIZONTAL )
m_textCtrl5 = wx.TextCtrl(
self.m_scrolledWindow3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer10.Add( m_textCtrl5, 1, wx.ALL, 5 )
m_textCtrl6 = wx.TextCtrl(
self.m_scrolledWindow3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer10.Add( m_textCtrl6, 1, wx.ALL, 5 )
self.tbl_indx = [m_textCtrl5, m_textCtrl6]
self.tbl.append(self.tbl_indx)
return bSizer10
def gen(self, need_row):
self.bSizer9.DeleteWindows()
self.tbl = []
for i in range(need_row):
self.bSizer9.Add(self.xz() , 1, wx.EXPAND, 5 )
self.m_scrolledWindow3.SetSizer( self.bSizer9 )
self.m_scrolledWindow3.Layout()
self.m_scrolledWindow3.FitInside()
class MyApp(wx.App):
def OnInit(self):
wx.InitAllImageHandlers()
frame_1 = MyFrame(None)
self.SetTopWindow(frame_1)
frame_1.Show()
return 1
if __name__ == "__main__":
app = MyApp(0)
app.MainLoop()