• 8197阅读
  • 4回复

在QDialog上用QPainter画图,怎么进行缩放? [复制链接]

上一主题 下一主题
离线wn541200
 
只看楼主 倒序阅读 楼主  发表于: 2010-09-27
— 本帖被 XChinux 执行加亮操作(2010-10-21) —
我用QPainter在QDialog上画线,画矩形什么的。怎么对在QDialog上画的所有东西进行缩放啊?

我调用QPainter里面的scale方法没有反应啊。

请问下该怎么搞,谢谢。
离线xtfllbl

只看该作者 1楼 发表于: 2010-09-27
很遗憾,请手动缩放,就是写个比例函数之类的,然后重绘。
上海欢迎您
离线wn541200
只看该作者 2楼 发表于: 2010-09-27
额,看来还是没得方便点的方法了。谢谢了。
离线paranoid
只看该作者 3楼 发表于: 2010-09-27
这么常用的操作不可能需要手动,如果你只是要缩放的话,scale肯定是可以的,需要注意的是scale语句要在画图语句之前设置
离线robertkun

只看该作者 4楼 发表于: 2010-09-28
回 3楼(paranoid) 的帖子
顶起。。

  1. void CombinedTransformation::paintEvent(QPaintEvent *)
  2. {
  3.      QPainter painter(this);
  4.      painter.setPen(QPen(Qt::blue, 1, Qt::DashLine));
  5.      painter.drawRect(0, 0, 100, 100);
  6.      QTransform transform;
  7.      transform.translate(50, 50);
  8.      transform.rotate(45);
  9.      transform.scale(0.5, 1.0);
  10.      painter.setTransform(transform);
  11.      painter.setFont(QFont("Helvetica", 24));
  12.      painter.setPen(QPen(Qt::black, 1));
  13.      painter.drawText(20, 10, "QTransform");
  14. }
[ 此帖被robertkun在2010-09-28 09:33重新编辑 ]
                                              简单的生活使人快乐!
快速回复
限100 字节
 
上一个 下一个