[英]Cant iterate database for building treectrl in WxPython
import wx
import sqlite3 as lite
class MyFrame(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(450, 350))
vbox = wx.BoxSizer(wx.VERTICAL)
self.tree = wx.TreeCtrl( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TR_DEFAULT_STYLE|wx.TR_HIDE_ROOT )
self.root = self.tree.AddRoot('Noktalar')
vbox.Add(self.tree, 1, wx.EXPAND)
con = lite.connect('noktalar.sdb')
#cur = con.cursor() #removed
cur2 = con.cursor() #added
gruplar=cur.execute("select * from gruplar")
for grup in gruplar:
parentItem = self.tree.AppendItem(self.root, grup[1])
deyim="""select * from noktalar where noktalar.grup_id="""+str(grup[0])
#noktalar=cur.execute(deyim) #removed
noktalar=cur2.execute(deyim) #added
for nokta in noktalar:
self.tree.AppendItem(parentItem, nokta[1])
con.commit()
cur.close()
cur2.close() #added
con.close()
self.SetSizer(vbox)
self.Centre()
class MyApp(wx.App):
def OnInit(self):
frame = MyFrame(None, -1, 'treectrl.py')
frame.Show(True)
self.SetTopWindow(frame)
return True
你好
我需要從1toN數據庫構建一個treectrl。 但是只運行一次迭代。 我的意思是控件中只有一個父項和其中的子項。 它為什么不建立其他父項,即使它們存在於數據庫中呢?
提前致謝。
解決了:
我為“ noktalar”添加了另一個光標。
您確定gruplar和noktalar變量是可迭代的嗎? 添加一些行以打印這些行,並確保您要遍歷某些內容。 否則,代碼對我來說似乎正確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.