小编Pau*_*aul的帖子

wxPython listctrl 闪烁快速更新

我将一些行放入列表控件中,然后相当快地更新它们 - 通常数据来自总线 - 并且整个列表闪烁很多。阻止它这样做真是太好了。

我尽可能地减少了代码,同时仍然保持我在下面的示例中所做的事情的总体外观。

lisctrl 是在 wx.Notebook 中还是在普通的 wx.Panel 中似乎并不重要,所以我把笔记本留在那里。

我已经开始研究双缓冲,但想看看是否还有其他可以先尝试的方法。

在 Windows 7 上使用 wxPython 2.8.12.1 执行此操作。XP 上也会发生。

import sys
import time
import logging
import wx
from random import randint

UPDATE_MS=10

class CanMsg(object):
    def __init__(self, ID, type, len, data=None):
        """Represents a CAN message"""
        self.ID=ID          # 11/29-bit message identifier
        self.MSGTYPE=type # Type of the message
        self.LEN=len          # Data Length Code of the message (0..8)
        if data:
            self.DATA=data
        else:
            self.DATA=[0,]*len

class EmulatorFrame(wx.Frame):
    def __init__(self, parent, id, title, pos=wx.DefaultPosition, size=wx.DefaultSize, …
Run Code Online (Sandbox Code Playgroud)

wxpython flicker listctrl

5
推荐指数
1
解决办法
1892
查看次数

标签 统计

flicker ×1

listctrl ×1

wxpython ×1