n个方案:
1、void QWidget::update ( const QRegion & rgn )
这个update本身就能够只跟新指定区域的;
2、使用一种数据类型作为中介:比如二维数组,640x480大小的,数组的每个值代表着像素点的一个状态,paintEvent里面遍历该二维数组画点;所有对你的算法的操作都操作你的二维数组,而不是直接去画;
3、使用QImage类,操作一个图片的单一的像素点,然后用个定时器,不断的让你的图片在label里显示;
4、参考文档主页,examples下,Graphics View下的 Colliding Mice Example。该种方式能够让你的蚂蚁显示的更形象,而不是一个像素点。当然,研究蚁群算法可能不适合,需要的蚂蚁实在太多。
另,研究蚁群算法不需要把它画出来,画出来反而偏离了蚁群算法的本义,体现不出算法的优势,只能让你的计算机很受罪。因为巨大数量的蚂蚁的路径选择最终形成最优路径,我们需要的是最后的路径,或者路径选择演变的过程,画出蚂蚁来没有必要。