Qt中可以使用QPolygonF类以及QPainter类来绘制三角形。
以下是一个简单的例子:
#include <QtGui>
class Triangle : public QWidget {
public:
Triangle(QWidget *parent = 0) : QWidget(parent) {}
protected:
void paintEvent(QPaintEvent *event) {
Q_UNUSED(event);
QPainter painter(this);
painter.setBrush(Qt::blue);
QPolygonF polygon;
polygon << QPointF(10, 80) << QPointF(50, 10)
<< QPointF(90, 80) << QPointF(10, 80);
painter.drawPolygon(polygon);
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
Triangle triangle;
triangle.resize(100, 100);
triangle.show();
return app.exec();
}
在这个例子中,我们创建了一个包含paintEvent方法的Triangle类继承自QWidget。paintEvent方法中,我们实例化QPainter对象并设置蓝色的笔刷,接着创建三个点作为多边形的顶点,并将它们加入到QPolygonF对象中。最后,调用drawPolygon方法来绘制多边形。
当然,你也可以通过设置不同的顶点坐标,来绘制其他形状的三角形。