QT实现十字线

这篇具有很好参考价值的文章主要介绍了QT实现十字线。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

效果:

QT实现十字线,qt,开发语言文章来源地址https://www.toymoban.com/news/detail-830933.html

 int resolutionWidth = m_resolution.width();
        int resolutionHeight = m_resolution.height();

        QPixmap pixmap(resolutionWidth, resolutionHeight);
        pixmap.fill(Qt::transparent);

        QPainter painter(&pixmap);
        painter.setPen(QPen(Qt::red, 2)); // 设置画笔颜色为红色,宽度为2

        // 绘制垂直线
        painter.drawLine(resolutionWidth / 2, 0, resolutionWidth / 2, resolutionHeight);
        // 绘制水平线
        painter.drawLine(0, resolutionHeight / 2, resolutionWidth, resolutionHeight / 2);

        int centerX = resolutionWidth / 2;
        int centerY = resolutionHeight / 2;


        // 在十字中间添加值
        QString centerText = "Center";
        QRectF centerRect(centerX + 20,  centerY , 40, 20);
        painter.drawText(centerRect, Qt::AlignCenter, centerText);

//        // 绘制量尺

        int rulerLength = m_resolution.width(); // 量尺长度
        int tickSpacing = 10; // 刻度间距


        // 绘制水平中心线上的量尺
        int rulerStartXHorizontal = centerX - rulerLength / 2; // 水平量尺起始位置X坐标
        int rulerStartYHorizontal = centerY; // 水平量尺起始位置Y坐标

        for (int i = 0; i <= rulerLength; i += tickSpacing) {
            int tickHeight = (i % (tickSpacing * 5) == 0) ? 20 : 10; // 长刻度的高度为20,短刻度的高度为10

            painter.drawLine(rulerStartXHorizontal + i , rulerStartYHorizontal , rulerStartXHorizontal + i, rulerStartYHorizontal - tickHeight ); // 绘制刻度线
        }


        // 绘制垂直中心线上的量尺
        int rulerStartXVertical = centerX; // 垂直量尺起始位置X坐标
        int rulerStartYVertical = centerY + rulerLength / 2; // 垂直量尺起始位置Y坐标

        for (int i = 0; i <= rulerLength; i += tickSpacing) {
            int tickWidth = (i % (tickSpacing * 5) == 0) ? 20 : 10; // 长刻度的宽度为20,短刻度的宽度为10

            painter.drawLine(rulerStartXVertical, rulerStartYVertical - i, rulerStartXVertical - tickWidth, rulerStartYVertical - i); // 绘制刻度线
        }



        ui->workWidget->updatePixmap1(pixmap); // 更新 workWidget 上显示的图像

到了这里,关于QT实现十字线的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT-基于Buildroot构建系统镜像下实现QT开发

    基于Build root编译整个镜像后,如何开发自己的基于QT的驱动小项目呢? 怎么编译QT,怎么测试?配置QT Creator繁琐?失败? 下面有一种比较简单的方法可供大家在学习时来参考使用。 对于驱动工程师来说,QT只是一种“手段”,我们主要的关注点应该集中在驱动程序本身的设

    2024年02月13日
    浏览(29)
  • 【VisualStudio】基于 Visual Studio 使用 C++ 语言开发 Qt 环境配置教程

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 先上一张效果图,具体步骤主要分为以下三步。 这一步不再赘述,注意一定要安装 C++ 语言。 可以参考这个教程 Visual Studio 2022安装与使用教程。 这一步也不再赘述,网上搜索教

    2024年02月15日
    浏览(50)
  • 【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 我要使用的功能比较简单,主要包含扫描串口、打开串口、发送数据、接收数据、暂停按钮、停止按钮,因此接下里将围绕这几个功能依次更新。 我的工程项目名字叫 “GUI”。

    2024年02月11日
    浏览(57)
  • 【Visual Studio】报错 C2653,使用 C++ 语言,配合 Qt 开发串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 这个 Bug 是我做这个工程时遇到的:【Visual Studio】Qt 的实时绘图曲线功能,使用 C++ 语言,配合 Qt 开发串口通信界面。 使用 C++ 语言,配合 Qt 开发串口通信界面,在添加 Widget 做

    2024年02月11日
    浏览(40)
  • C++ Qt开发:TabWidget实现多窗体功能

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍 TabWidget 标签组件的常用方法及灵活运用。 QTabWidget 是Qt中用于实现标签页(t

    2024年02月04日
    浏览(34)
  • 【使用VS开发的第一个QT项目——实现相机功能(包括QT下载、配置、摄像头程序)】

    下载链接 windows程序的后缀是.exe Ubuntu程序的后缀是.run 按照安装指示操作、注册QT,然后出现”选择“界面时 勾选“MinGW 7.3.0 64-bit”,“MSVC 2017 64-bit”;点击“Developer and Designer Tools”前的尖号,打开其中选项,勾选“MinGW 7.3.0 64-bit”。 在VS\\\"工具\\\"→\\\"扩展与更新\\\"→\\\"联机\\\"中搜

    2024年02月07日
    浏览(45)
  • C++ Qt开发:QUdpSocket实现组播通信

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用 QUdpSocket 组件实现基于UDP的组播通信。 组播是一种一对多的通信方式

    2024年03月20日
    浏览(23)
  • 基于Qt5的图像交互控件开发(C++实现)

    博主近期看到海康VM、halcon以及visionpro视觉软件都包含一个图像智能交互控件,然后近期根据其中的技术原理,也基于Qt5仿照开发了一个类似的功能,包含矩形、旋转矩形、任意多边形、圆、圆环、扇环,直线卡尺以及圆卡尺等常用控件,图像智能交互是在计算机视觉领域中

    2024年02月05日
    浏览(39)
  • 【Visual Studio】报错 ASSERT: “i >= 0 && i < size()“,使用 C++ 语言,配合 Qt 开发串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 这个 Bug 是我做这个工程时遇到的:【Visual Studio】Qt 的实时绘图曲线功能,使用 C++ 语言,配合 Qt 开发串口通信界面。 使用 C++ 语言,配合 Qt 开发串口通信界面,在调试动态绘图

    2024年02月11日
    浏览(41)
  • 【C++开发】Qt+Tesseract实现文字识别的各种坑(已解决)

            最近在给之前Qt医疗管理系统项目添加一个文字识别功能,但是在其中遇到非常多坑,花费了我比较多的时间(查阅了很多文章),这篇文章主要用来整理这些坑(非常详细)。 Qt版本:Qt5.13 VS版本:VS2017 编译器(构建套件):Desktop Qt 5.13.0 MSVC2017 64bit 以上环境都

    2024年02月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包