在Qt中出现如下问题A paint device can only be painted by one painter at a time.
找来找去,结果应该是这句代码有问题
QPainter painter = new QPainter(this);
这是因为这种赋值方式,右边的new新建了一个实例然后将这个实例拷贝给了painter所以导致有两个QPainter对象都指向了this(一般是窗口设备),所以出现了应用输出的错误信息.
但是如果是这种方式
QPainter *painter = new QPainter(this);
则是正确的。
但要记得delete释放内存