-
UID:79354
-
- 注册时间2009-05-17
- 最后登录2018-11-12
- 在线时间327小时
-
- 发帖505
- 搜Ta的帖子
- 精华0
- 金钱4060
- 威望515
- 贡献值1
- 好评度506
-
访问TA的空间加好友用道具
|
—
本帖被 XChinux 从 Qt网络编程 移动到本区(2011-06-14)
—
怎样求得不同分辨率下,一厘米的长度呢? 谢谢! - // 三角形绘制部分。。
- void testTriangle::paintEvent( QPaintEvent * event )
- {
- QPainter painter(this);
- painter.setRenderHint(QPainter::Antialiasing, true);
- painter.setWindow(-215, -215, 430, 430);
- // 直角三角形
- static const int points1[] = {-215, -215, -215, +215, 215, 215};
- static const int points2[] = {-145,-65, -145 , +145, +45,+145};
- qDebug("clearMaks -runned---------");
- QPolygon polygon1; //该函数画一个由直线相闻的两个以上顶点组成的多边形,用当前画笔画多边形轮廓,用当前画刷和多边形填充模式填充多边形。
- QPolygon polygon2;
- polygon1.setPoints(3, points1);
- polygon2.setPoints(3, points2);
- QRegion region1(polygon1);
- QRegion region2(polygon2);
- QRegion region = region1 - region2;
- QPainterPath path;
- path.addRegion(region);
- // 线性渐变
- QLinearGradient linearGradient(-215, -215, 215, 215);
- linearGradient.setColorAt(0.2, QColor(34, 139, 34, 200));
- linearGradient.setColorAt(0.6, QColor(199,21,133, 150));
- linearGradient.setColorAt(1.0, QColor(255,255,0, 200));
- painter.fillPath(path, QBrush(linearGradient));
- QWidget::paintEvent(event);
- }
|