[英]wx.listctrl focus imprcise
親愛的大家:
我在 wxPython 框架中使用 list ctrl。
self.listCtrl = wx.ListCtrl(self.framePanel, size=wx.DefaultSize,
style = wx.LC_REPORT | self.styleGiven | wx.BORDER_SUNKEN | wx.LC_SINGLE_SEL
)
我在列表 ctrl 中有 80 個項目。 然后我想使用 self.listCtrl.Focus() 方法將焦點設置在所選項目上。 該方法適用於項目索引的小值。
但是對於較大的項目索引值, self.listCtrl.Focus() 該方法逐漸失去焦點精度。
例如,如果我執行 self.listCtrl.Focus(15),那么視圖中的頂部項目行實際上是索引 17。
當我打電話
self.listCtrl.Focus(60)
視圖中的頂部項目行實際上是索引 64。
有人可以告訴我如何正確地做到這一點嗎?
非常感謝。
法恩
我不相信SetFocus
與EnsureVisible
根本不同,后者只是確保列表已充分滾動,以確保該項目可見。
嘗試self.listCtrl.Select(60)
與self.listCtrl.Focus(60)
結合使用,以便您需要的項目顯而易見。
ps 記住 listctrl 項目是從零開始的。
如果失敗,請確保您確實擁有列表中您認為擁有的所有項目。
要使所選項目在可見列表中盡可能高,請先對最后一行執行EnsureVisible
,然后再對實際行執行 EnsureVisible
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.