1.概要
2.代码
2.1 widget.h
class Widget : public QWidget
Widget(QWidget *parent = nullptr);
void paintEvent(QPaintEvent *event);
2.2 widget.cpp
Widget::Widget(QWidget *parent)
void Widget::paintEvent(QPaintEvent *event){
painter.setRenderHint(QPainter::Antialiasing);
painter.setPen(Qt::black);
painter.setBrush(Qt::lightGray);
int side = qMin(width(), height()) * 0.7; // 边长取窗口宽度和高度中较小值的70%
int centerX = width() / 2;
int centerY = height() / 2;
QPointF point1(centerX, centerY - side / 2.0 * sqrt(3.0) / 2.0);
QPointF point2(centerX + side / 2.0, centerY + side / 2.0 * sqrt(3.0) / 2.0);
QPointF point3(centerX - side / 2.0, centerY + side / 2.0 * sqrt(3.0) / 2.0);
triangle << point1 << point2 << point3;
painter.drawPolygon(triangle);
2.3 main.cpp
int main(int argc, char *argv[])
QApplication a(argc, argv);
3.运行结果
