向txt文件或sqlite中的每个wxnotebook选项卡永久添加不同的小部件

问题描述 投票:1回答:1

请如何在标签中永久添加不同的小部件并永久保存

<html>
<pre>
import wx
tabs = []
with open('test.txt','r') as file:
    for element in file.readlines():
        tabs.append(element)

class TabPanel(wx.Panel):
    def __init__(self, parent, pageNum):
        self.parent = parent
        self.pageNum = pageNum
        wx.Panel.__init__(self, parent=parent)

class DemoFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, wx.ID_ANY, "Notebook", size=(600,400))
        panel = wx.Panel(self)
        self.tab_num = len(tabs)

        self.notebook = wx.Notebook(panel)
        for tab in tabs:
            name = "Page " + str(tab)
            tab = TabPanel(self.notebook, 1)
            self.notebook.AddPage(tab, name)

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.notebook, 1, wx.ALL|wx.EXPAND, 5)

        btn = wx.Button(panel, label="Add Page")
        btn.Bind(wx.EVT_BUTTON, self.addPage)
        sizer.Add(btn)

        panel.SetSizer(sizer)
        self.Layout()
        self.Show()

    def addPage(self, event):
        self.tab_num += 1
        new_tab = TabPanel(self.notebook, self.tab_num)
        self.notebook.AddPage(new_tab, "Page %s" % self.tab_num)
        tabs.append(self.tab_num)
        print()

        with open('test.txt','a+') as file:
            file.write(str(self.tab_num))
            file.write('\n') 

if __name__ == "__main__":
    app = wx.App(False)
    frame = DemoFrame()
    app.MainLoop()
</pre>

</html>
sqlite user-interface wxpython wxwidgets
1个回答
1
投票

类似的东西应该让您入门(抱歉,对python并不熟悉):

© www.soinside.com 2019 - 2024. All rights reserved.