wxPython如何重新加载数据

xhp168168 2016-09-22 02:28:56

我使用wxPython开发了一个应用程序,使用Notebook做了两个页面,分别为“显示数据”和“修改数据”。作用是进入程序后,在“显示数据”页面的列表框中,显示从数据库里示获得的datalist,如果我在“修改数据”页面对数据库的datalist进行了修改后,需要关闭该软件,重新打开软件后,才会在“显示数据”界面显示我刚才修改了的数据。现在的问题是:如何在修改了数据之后,点击进入了“显示数据”页面后,自动显示刚才修改了的数据?因为觉得先关闭软件再开启觉得很麻烦,也不符合用户习惯。
我的想法是每次进入“显示数据”页面,重新加载一次ConnectDB()函数以获得最新的数据,我尝试了在cjlists函数中调用ConnectDB()函数,但一直未达到理想效果,请高手指导。

程序代码框架如下:


[code=python][/
import wx

class ConnectDB():
global datalist
#Connect DB and get datalist for Show data page.
pass

class cjlists(wx.Panel):
global datalist
def __init__(self,parent):
wx.Panel.__init__(self,parent)
self.listBox = wx.ListBox(self,-1,(20,20),(80,100),‘’,wx.LB_SINGLE)

class cjModify(wx.Panel):
def __init__(self,parent):
wx.Panel.__init__(self,parent)
wx.StaticText(self,-1,'Modify Data in this page.',pos=(30,30))
pass

if __name__=='__main__':
app = wx.App(False)
frame = wx.Frame(None,title='How to auto reload data?',size=(300,200))
nb = wx.Notebook(frame)
nb.AddPage(cjlists(nb),'Show Data')
nb.AddPage(cjModify(nb),'Modify Data')
frame.Show()
app.MainLoop()

code]


...全文
864 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sprawling 2016-10-24
  • 打赏
  • 举报
回复
try this, you can do more
class ConnectDB():
    global datalist
    #Connect DB and get datalist for Show data page.
    pass

class cjlists(wx.Panel):
    global datalist
    def __init__(self,parent):
        wx.Panel.__init__(self,parent)
        self.listBox = wx.ListBox(self,-1,(20,20),(80,100),'hello',wx.LB_SINGLE)

class cjModify(wx.Panel):
    def __init__(self,parent):
        wx.Panel.__init__(self,parent)
        wx.StaticText(self,-1,'Modify Data in this page.',pos=(30,30))
        pass
        
def ChangedTab(event):
    event.Skip()
    index = nb.GetSelection()
    print index
    if index == 1: # second page
        print "you can modify the data"
    else:                               # other pages
        print "do what you want"
        p0.listBox.SetString(0, "aaaa")
    
if __name__=='__main__':
    app = wx.App(False)
    frame = wx.Frame(None,title='How to auto reload data?',size=(300,200))
    nb = wx.Notebook(frame)
    p0 = cjlists(nb)
    p1 = cjModify(nb)
    nb.AddPage(p0,'Show Data')
    nb.AddPage(p1,'Modify Data')
    nb.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,ChangedTab)
    frame.Show()
    app.MainLoop()
xhp168168 2016-10-12
  • 打赏
  • 举报
回复
自己顶一下。。。
xhp168168 2016-09-27
  • 打赏
  • 举报
回复 1
程序运行界面如下图:
内容概要:本文系统研究了基于CNN-SVM的卷积神经网络与支持向量机融合的数据分类预测方法,聚焦其在工业故障识别中的应用,提供了完整的Matlab代码实现。通过CNN提取输入数据的深层空间特征,再由SVM进行高精度分类,充分发挥两者优势,有效提升了故障识别的准确性、鲁棒性与泛化能力。该方法特别适用于处理电力系统、机械设备等领域的高维、非线性、强噪声监测数据,在变压器故障诊断、轴承缺陷识别等场景中具有重要应用价值。文档还整合了机器学习、深度学习、图像处理、路径规划、电力系统优化等多个前沿科研方向的技术资源,配套大量Matlab/Simulink仿真案例与Python代码,全面支持科研复现与工程实践。; 适合人群:具备一定编程基础,熟练掌握Matlab或Python语言,从事电气工程、自动化、人工智能、机械故障诊断等相关领域研究的研发人员及高校研究生; 使用场景及目标:① 实现工业设备的状态监测与多类别故障分类;② 深入理解CNN与SVM融合模型的设计原理与工程实现细节;③ 借助所提供的丰富算法案例开展科研复现、模型优化与系统仿真验证; 阅读建议:建议按照文档目录结构系统化学习,结合百度网盘提供的完整代码资源进行动手实践,重点关注CNN特征提取层与SVM分类器之间的数据接口设计与参数调优策略,同时可延伸学习文中涉及的其他智能算法及其在电力系统、信号处理等领域的交叉应用,全面提升科研创新能力。

37,738

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧