You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyQt5绘制晶圆图时线条超出图像范围,如何排查解决?

问题根因

你遇到的异常是QPainter.drawRect()传参不符合Qt API规则导致的:

  • Qt的drawRect()接口4个入参的定义为(左上角x坐标, 左上角y坐标, 矩形宽度, 矩形高度),而非你理解的(左上角x, 左上角y, 右下角x, 右下角y)
  • 你当前把item[0][0] + self.dieX(右下角x值)作为宽度、item[0][1] + self.dieY(右下角y值)作为高度传入,会导致矩形实际尺寸远大于预期,自然会延伸到晶圆图区域外。你打印的坐标数值本身是正确的,只是参数使用逻辑错误才出现看起来“数值正确但绘制异常”的矛盾现象。
修复方案

直接修改_draw_die函数中drawRect的入参即可:

qp.drawRect(item[0][0],
            item[0][1],
            self.dieX,
            self.dieY)

如果需要额外避免边缘die越界绘制,可在绘制前增加坐标范围校验,判断左上角坐标+宽高是否超出512*512的画布边界,符合要求再执行绘制逻辑。

内容的提问来源于stack exchange,提问作者Patrick Montgomery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 18:54:00