• 2274阅读
  • 2回复

[提问]Qml绘图问题 [复制链接]

上一主题 下一主题
离线songhuirong1
 

只看楼主 倒序阅读 楼主  发表于: 2019-05-06
初学Qml,现在有个关于绘图问题想请教各位。望指点。问题描述如下:
我绘制了一个矩形,里面用绿色填充,边框用红色绘制。窗体第一次运行的时候,显示正常。但是当我改变窗口大小时,显示出现了异常,红色的边框会重复绘制,导致边框叠加。请问这个问题该如何解决?代码如下:
  1. import QtQuick 2.9
  2. import QtQuick.Window 2.2
  3. Window {
  4.     visible: true
  5.     title: qsTr("Hello World")
  6.     Rectangle {
  7.         id: centerRect
  8.         color: "#ffffff"
  9.         anchors.fill: parent
  10.         Canvas {
  11.             id: mainWndCanvas
  12.             anchors.fill: parent
  13.             contextType: "2d"
  14.             onPaint: {
  15.                 context.lineWidth = 2
  16.                 context.strokeStyle = "red"
  17.                 context.fillStyle = "green"
  18.                 context.rect(0, 0, width, height)
  19.                 context.fill()
  20.                 context.stroke()
  21.             }
  22.         }
  23.     }
  24. }




离线songhuirong1

只看该作者 1楼 发表于: 2019-05-06
自己解决了。
离线青空飞羽

只看该作者 2楼 发表于: 2019-05-06
每次绘制时都需要重置context状态
快速回复
限100 字节
 
上一个 下一个