我有一个问题,当我确实点击了列表框,在我的程序中,我确实点击了列表框就会出现一段视频,并对视频进行了解释。我在数据库中制作了一个示例“name_link”,它将出现在列表框中。expl1,expl2,expl3。每个名字的链接都有不同的信息。然而,每次我点击其中一个名字链接时,就会出现这种情况,视频只出现在Video3上,系统永远不会显示关于视频的解释。当我点击名字链接视频1视频2新兴或总是视频3。我被困在这部分了。在
单击期间的此部分:
tb4 = wx.StaticText(self, -1, label='explain', pos=(20, 145))
wx.TextCtrl(self, -1, pos=(80, 145), size=(220, 120))
self.opt = wx.ListBox(pan1, -1, pos=(10, 210), size=(480, 250), style= wx.TE_MULTILINE | wx.BORDER_SUNKEN)
def playFile(self, event):
self.player.Play()
def OnEnter(self, event):
self.opt.SetLabel(self.PatMatch())
def PatMatch(self):
con = sqlite3.connect('test.db')
with con:
cur = con.cursor()
for row in cur.execute("Select * From Video"):
klmt = self.inpt.GetValue()
if row[1] in klmt.lower():
self.opt.Append(row[2])
self.player.Load(row[4])
return self.Bind(wx.EVT_LISTBOX_DCLICK, self.playFile, self.op)
数据库如下:
^{pr2}$
我试着创造一些这样的代码。在
其工作为视频,视频可以播放。但对于列数据库中的信息解释,它没有显示出来。我想从tb4的解释打印栏得到信息。@nepix32公司
有几个问题:
您只需要绑定}) 。使用
wx.EVT_LISTBOX_DCLICK
一次。当事件被触发时,您要读出的是双击时选择了which item (^{GetSelections
进行多个选择。错误的缩进:在内部循环(
self.player…
)中,并且带有应该在最内层循环中的return self.Bind…
。正如现在写的那样,它将绑定到最后一个元素。正如第1点所写的那样,这并不是怎么做到的。在
Bind
中,self.op
应该是self.opt
请参阅wxPython demo on the download page以了解如何合理地使用ListBox。在
编辑:添加代码示例
相关问题 更多 >
编程相关推荐