c++ - 如何在具有XY轴Qt的图形上绘制矩形

标签 c++ qt

我想使用 Qt 在具有 XY 轴的图形上绘制一个矩形。我找到了 QCustomPlot小部件,但这不是我需要的(或者我不明白如何应用它来解决我的问题)。 enter image description here

enter image description here

请问如何让它工作有什么建议吗?

最佳答案

这是您需要的示例:

#include <QWidget>
#include <QPainter>

class MyPlot : public QWidget
{
    Q_OBJECT

public:
    MyPlot(QWidget *parent = 0)
        : QWidget(parent)
    {
    }


protected:
    void paintEvent(QPaintEvent *event)
    {
        QPainter painter(this);

        painter.save();
        painter.translate(2, height() -2); // 2 pixels between axes and the windows frame
        painter.scale(1,-1);

        QPen pen;
        pen.setWidth(2);
        painter.setPen(pen);

        // X Axis
        painter.drawLine(0,0, width(),0);

        // Y Axis
        painter.drawLine(0,0, 0,height());

        pen.setWidth(4);
        painter.setPen(pen);

        // Rect
        painter.drawRect(10,10, 60,80);

        painter.restore();
    }
};

关于c++ - 如何在具有XY轴Qt的图形上绘制矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36473567/

相关文章:

c++ - 结构的指针以及如何访问元素

QtQuick 模板弹出窗口与 QtQuick Controls 弹出窗口

c++ - 如何正确启动 C 和 C++ IAR 嵌入式项目?

C++ 防止方法重写

c++ - 通过函数时的 unique_ptr 行为

python - 如何修复 QPropertyAnimation "starting an animation without end value"错误

c++ - QSpinBox ValueChanged 被多次触发

c++ - 以普通用户身份执行命令

c++ - Qt, C++, 如何退出 QThread

c++ - 使用 QT 从 MySQL 返回 SUM 值时出错