当前位置: 首页 > wzjs >正文

可以帮忙做网站做公司百度百度一下官网

可以帮忙做网站做公司,百度百度一下官网,宝鸡seo快速排名,命令删除wordpress 缓存QT 在圆的边界画出圆 QT 在圆的边界画出实心圆 在Qt中,要实现在圆的边界上绘制图形,你需要使用QPainter类来在QWidget或其子类的paintEvent中绘制。下面我将通过一个简单的例子来说明如何在Qt中绘制一个圆,并在其边界上绘制其他图形&#x…

QT 在圆的边界画出圆

QT 在圆的边界画出实心圆

在Qt中,要实现在圆的边界上绘制图形,你需要使用QPainter类来在QWidget或其子类的paintEvent中绘制。下面我将通过一个简单的例子来说明如何在Qt中绘制一个圆,并在其边界上绘制其他图形(例如,线条或点)。

步骤 1: 创建Qt项目

首先,创建一个新的Qt Widgets Application项目。

步骤 2: 修改主窗口类

打开你的主窗口类(通常是mainwindow.hmainwindow.cpp),并修改paintEvent方法。

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QMainWindow>
#include <QPainter>
#include <QWidget>
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
 
protected:
    void paintEvent(QPaintEvent *event) override;
};
 
#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
}
 
MainWindow::~MainWindow()
{
}
 
void MainWindow::paintEvent(QPaintEvent *event)
{
    Q_UNUSED(event); // 如果不需要使用事件参数,可以忽略或注释掉这行。
    QPainter painter(this); // 使用当前窗口作为绘图设备。
    painter.setRenderHint(QPainter::Antialiasing, true); // 启用抗锯齿。
    painter.setPen(Qt::blue); // 设置画笔颜色为蓝色。
    painter.setBrush(Qt::NoBrush); // 不填充圆内部。
    int radius = 100; // 圆的半径。
    painter.drawEllipse(50, 50, 2 * radius, 2 * radius); // 绘制圆。注意:圆心在(50, 50),半径为radius。
    painter.setPen(Qt::red); // 改变画笔颜色为红色。
    // 在圆边界上绘制线条或点。例如,我们可以绘制从圆心到圆周上的点。
    for (int angle = 0; angle < 360; angle += 30) { // 每30度一个点。
        double radian = angle * M_PI / 180; // 将角度转换为弧度。
        int x = static_cast<int>(50 + radius * cos(radian)); // 计算x坐标。
        int y = static_cast<int>(50 + radius * sin(radian)); // 计算y坐标。
        painter.drawPoint(x, y); // 在该点绘制一个点。
    }
}

步骤 3: 运行你的程序

编译并运行你的程序。你应该会看到一个窗口中有一个蓝色的圆,其边界上有红色的点,每30度一个点。

说明:

  • QPainter对象用于在窗口上绘图。你可以设置画笔(setPen)和刷子(setBrush)来定义绘图样式。这里我们使用了NoBrush来仅绘制圆的外轮廓。

  • drawEllipse方法用于绘制椭圆,通过指定中心点和宽度、高度可以绘制圆(宽度和高度相同)。

  • 通过计算每个角度对应的圆周上的点,并在这些点上绘制点,你可以在圆的边界上绘制任何图形。这里的例子是每隔30度画一个点。你可以修改角度的增量来改变点的密度,或者改为绘制线条等。

  • 使用setRenderHint(QPainter::Antialiasing, true)可以提高绘图的平滑度,使线条和形状看起来更平滑。

http://www.dtcms.com/wzjs/524389.html

相关文章:

  • 做网站要学一些什么网络推广的方式
  • 怎么做有数据库的网站青岛seo推广
  • 郑州广告公司网站建设百度贴吧广告投放价格
  • 个人网站建设的流程百度云资源搜索引擎入口
  • 网站建设展示型是什么网站模板购买
  • 青岛网站设计建立公司青海seo关键词排名优化工具
  • 网站建设的完善优化软件seo排名
  • 公众号中做微网站百度一下你就知道主页
  • 西安做网站公司哪家好互联网推广平台有哪些
  • 淘宝做任务赚钱网站谷歌google play官网
  • 商户网站建设公司5118关键词挖掘工具
  • 深圳手机报价网站青岛百度网站排名优化
  • 推广及建设网站北京网站优化公司哪家好
  • 网站的基本结构品牌推广经典案例
  • 大连做网站制作seo团队管理系统
  • 綦江中国建设银行官网站今天刚刚发生的新闻事故
  • 中小型网站有哪些成功营销案例分享
  • 网站可以做315认证吗百度我的订单查询
  • 做网站建设有哪些公司余姚网站seo运营
  • 石家庄电子商务网站建设福建百度开户
  • 网站常用的中文字体新闻近期大事件
  • 什么网站空间稳定湖南网站seo营销
  • 济南建设网站制作关键词数据分析工具有哪些
  • 怎么在中国做网站赌博百度关键词优化策略
  • 云校网站建设找广告商的平台
  • 邯郸做移动网站哪儿好友链交换
  • 公司做环评的网站百度推广账号注册流程
  • 系统网站建设怎样才能注册自己的网站
  • 苏州新区做网站广东全网推广
  • 江苏高效网站制作公司营销推广公司案例