簡體   English   中英

wx.listctrl 焦點不精確

[英]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。
有人可以告訴我如何正確地做到這一點嗎?

非常感謝。

法恩

我不相信SetFocusEnsureVisible根本不同,后者只是確保列表已充分滾動,以確保該項目可見。
嘗試self.listCtrl.Select(60)self.listCtrl.Focus(60)結合使用,以便您需要的項目顯而易見。
ps 記住 listctrl 項目是從零開始的。

如果失敗,請確保您確實擁有列表中您認為擁有的所有項目。

要使所選項目在可見列表中盡可能高,請先對最后一行執行EnsureVisible ,然后再對實際行執行 EnsureVisible

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM