QT开发中文网

qt绘制圆

在 Qt 中,可以使用 QPainter 类来绘制图形,包括圆。下面是一个简单的示例,展示了如何在自定义 QWidget 中绘制一个圆。

示例代码

#include <QApplication>
#include <QWidget>
#include <QPainter>

class CircleWidget : public QWidget {
protected:
    void paintEvent(QPaintEvent *event) override {
        QPainter painter(this);
        
        // 设置画笔颜色
        painter.setPen(Qt::black);
        
        // 设置填充颜色
        painter.setBrush(Qt::blue);
        
        // 绘制圆:x, y 为左上角坐标,直径为 100
        int diameter = 100;
        int x = (width() - diameter) / 2; // 水平居中
        int y = (height() - diameter) / 2; // 垂直居中
        
        painter.drawEllipse(x, y, diameter, diameter); // 绘制圆
    }
};

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

    CircleWidget widget;
    widget.resize(300, 300); // 设置窗口大小
    widget.show();

    return app.exec();
}

编译和运行

  1. 将上述代码复制到一个 .cpp 文件中。
  2. 在 Qt Creator 中创建一个新的项目并添加这个文件。
  3. 确保你的项目配置正确(例如,选择合适的 Qt 版本)。
  4. 编译并运行程序,你将看到一个窗口中间有一个蓝色的圆。

说明

  • paintEvent 是处理绘图事件的方法。在此方法内,我们使用 QPainter 来进行绘图操作。
  • drawEllipse() 方法用于绘制椭圆,传入参数分别是矩形区域的左上角坐标、宽度和高度。当宽度和高度相等时,它会绘制一个完美的圆。

你可以根据需要修改颜色、大小或位置等属性!


内容由零声教学AI助手提供,问题来源于学员提问

目录导航
  • 示例代码
  • 编译和运行
  • 说明
  • 本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
    转载请注明出处:http://qt.0voice.com/?id=12506

    分享:
    扫描分享到社交APP
    上一篇
    下一篇
    发表列表
    游客 游客
    此处应有掌声~
    评论列表

    还没有评论,快来说点什么吧~

    联系我们

    在线咨询: 点击这里给我发消息

    微信号:3007537140

    上班时间: 10:30-22:30

    关注我们
    x

    注册

    已经有帐号?