要绘制填充绿色的等腰三角形,底边线宽和斜边线宽不同,您可以通过以下代码实现:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
window.resize(100, 100);
QPainter painter(&window);
QPen basePen(Qt::black, 5); // 底边线宽为5
painter.setPen(basePen);
QBrush brush(Qt::green);
painter.setBrush(brush);
int base = 21; // 底边长
int height = 12; // 高度
QPoint points[3] = {
QPoint(window.width() / 2 - base / 2, window.height() / 2 + height / 2), // 左下角点
QPoint(window.width() / 2 + base / 2, window.height() / 2 + height / 2), // 右下角点
QPoint(window.width() / 2, window.height() / 2 - height / 2) // 上顶点
};
painter.drawPolygon(points, 3);
QPen slantPen(Qt::black, 3); // 斜边线宽为3
painter.setPen(slantPen);
painter.drawLine(points[0], points[2]); // 左下角点到上顶点
painter.drawLine(points[1], points[2]); // 右下角点到上顶点
window.show();
return app.exec();
}
这段代码会在窗口中绘制一个底边为21像素,高度为12像素的绿色填充的等腰三角形,底边线宽为5,斜边线宽为3。您可以根据需要调整窗口大小和三角形位置。
内容由零声教学AI助手提供,问题来源于学员提问