中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

qt怎么繪制坐標軸和刻度

qt
小億
374
2024-05-15 19:24:17
欄目: 編程語言

在Qt中繪制坐標軸和刻度可以通過繼承QWidget類并重寫其paintEvent方法來實現。以下是一個簡單的示例代碼:

#include <QtWidgets>

class PlotWidget : public QWidget
{
public:
    PlotWidget(QWidget *parent = nullptr) : QWidget(parent) {}

protected:
    void paintEvent(QPaintEvent *event) override
    {
        Q_UNUSED(event);

        QPainter painter(this);

        painter.setRenderHint(QPainter::Antialiasing, true);

        // 繪制坐標軸
        painter.drawLine(50, height() - 50, 50, 50); // 縱軸
        painter.drawLine(50, height() - 50, width() - 50, height() - 50); // 橫軸

        // 繪制刻度
        int numTicks = 10;
        for (int i = 0; i <= numTicks; ++i)
        {
            int x = 50 + i * (width() - 100) / numTicks;
            painter.drawLine(x, height() - 50, x, height() - 45); // 底部刻度
            painter.drawLine(50, height() - 50 - i * (height() - 100) / numTicks, 45, height() - 50 - i * (height() - 100) / numTicks); // 左側刻度
        }
    }
};

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    PlotWidget plot;
    plot.resize(400, 300);
    plot.show();

    return app.exec();
}

在上面的示例中,繪制了一個簡單的坐標軸和刻度,縱軸和橫軸分別位于左側和底部,刻度的數量為10個。可以根據具體需求對繪制坐標軸和刻度的樣式進行調整。

0
日照市| 台州市| 资兴市| 遂川县| 保靖县| 垦利县| 威海市| 休宁县| 收藏| 保德县| 徐州市| 喀喇沁旗| 大名县| 平利县| 牟定县| 隆回县| 庆安县| 丹巴县| 依安县| 永州市| 阜新市| 泰安市| 西安市| 新巴尔虎左旗| 新田县| 台东市| 大石桥市| 韶关市| 汶上县| 商水县| 子洲县| 高淳县| 甘南县| 新昌县| 绥中县| 于田县| 太和县| 秀山| 西昌市| 吉木乃县| 仪陇县|