打游戏瞬狙的时候,觉得屏幕中间如果有一个红点就好了,猛然间意识到,我可是学过Qt的人,这点事我自己能实现的啊!

实现过程非常简单,不多说,效果如下:

上代码

新建项目起名为 AimPoint

  • 图片

  • aimpoint.h

#ifndef AIMPOINT_H
#define AIMPOINT_H#include <QWidget>class AimPoint : public QWidget
{Q_OBJECT
public:AimPoint(QWidget *parent = nullptr);
protected:void paintEvent(QPaintEvent *event) override;
private:QPixmap pix;
};
#endif // AIMPOINT_H
  • aimpoint.cpp
#include "aimpoint.h"
#include <QPainter>
#include <QApplication>
#include <QDesktopWidget>
#include <windows.h>AimPoint::AimPoint(QWidget *parent): QWidget(parent)
{setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);setAttribute(Qt::WA_TranslucentBackground,true);setAttribute(Qt::WA_TransparentForMouseEvents, true);pix.load(":/zhunxing.png");resize(pix.size());//获取桌面宽高QRect screenRect = QApplication::desktop()->screenGeometry();int screenWidth = screenRect.width();int screenHeight = screenRect.height();move((screenWidth-width())/2,(screenHeight-height())/2);//设置窗口穿透SetWindowLong((HWND)winId(), GWL_EXSTYLE, GetWindowLong((HWND)winId(), GWL_EXSTYLE) |WS_EX_TRANSPARENT | WS_EX_LAYERED);
}void AimPoint::paintEvent(QPaintEvent *event)
{Q_UNUSED(event)QPainter paint(this);paint.drawPixmap(0,0,pix);
}
  • main.cpp
#include "aimpoint.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);AimPoint w;w.show();return a.exec();
}

成品

链接:https://pan.baidu.com/s/1K4reGoJrubLkhte16i4_XA
提取码:jfzg

Qt实现屏幕中间显示小点,打游戏瞬狙,你还在屏幕中间贴红点吗?相关推荐

  1. java如何在窗口上显示数据_如何把Java程序窗口在屏幕中间显示

    摘要:这篇Java开发技术栏目下的"如何把Java程序窗口在屏幕中间显示",介绍的技术点是"Java程序.屏幕中间.Java.显示.窗口.中间",希望对大家开发 ...

  2. linux屏幕分辨率文件,Ubuntu 16.04 LTS设置屏幕分辨率显示Unknown display 解决

    新装完Ubuntu 16.04 LTS 通过System settings-->Displays 设置屏幕分辨率 显示"Unknown display",选择后无反应,并且屏 ...

  3. 关于设置安卓屏幕的显示方向

    游戏中要设置安卓的显示方向,从网上查了查资料. 文章转载自 http://cnetwei.iteye.com/blog/781602 ,感谢原作者... 详解Android中的屏幕方向 屏幕方向 是对 ...

  4. 计算机游戏中屏幕上显示的,电脑在玩全屏游戏的时候显示屏老是出现无信号

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:电脑在玩全屏游戏的时候显示屏老是出现无信号 问题详情:我在玩CF的时候 每次进入游戏 显示屏突然出现无信号 好几次了推荐回答:这样的 ...

  5. H5不同屏幕大小显示不同的文字大小图片大小

    H5不同屏幕大小显示不同的文字大小图片大小 原理:识别屏幕宽度,利用JS的判断进行分配不同的尺寸 文字大小(HTML部分) <div id="size">大小文字< ...

  6. JS实现浏览器跨屏跳转窗口/控制屏幕双屏显示

    (高版本的谷歌,edge不支持跨屏,需要降低浏览器版本86.0版本)低版本谷歌浏览器 链接:百度网盘 请输入提取码https://pan.baidu.com/s/1iqgvVYSbgeoMC7WBFD ...

  7. 输出倒三角图案:在屏幕上显示如下倒三角图案

    输出倒三角图案:在屏幕上显示如下倒三角图案 /*输出倒三角图案:在屏幕上显示如下倒三角图案.     * * * *      * * *       * *        * 试编写相应程序.*/ ...

  8. Qt窗口屏幕居中显示 (ZT)

    窗口的屏幕居中显示问题,在各开发工具中原理相同,首先使用特定的方法得到显示屏幕的宽度和高度,再根据窗口本身的宽度和高度计算出窗口的左上角坐标位置. Qt中可以采用两种方法达到窗口的屏幕居中显示: 方法 ...

  9. python创建画布大小_要绘制图形,首先需要显示画布,并设置画布的大小。其中turtle.setup()函数可以显示画布,并设置画布的大小,及画布在屏幕上的相对位置。_学小易找答案...

    [简答题]大脑左半球: [其它]11- 15 [简答题]音乐教育能 [单选题]177. 下列哪种方法不属于机械清蜡方法?( ) [判断题]审美价值的特性--精神性. [单选题]168. 储层改造技术也 ...

最新文章

  1. 爬虫之谷歌浏览器xpath helper插件的安装和使用
  2. web前端----JavaScript的DOM(二)
  3. ThreadPoolExecutor 八种拒绝策略,对的,不是4种!
  4. 最长子段和 11061008 谢子鸣
  5. STL 之accumulate,adjacent_difference,inner_product,partial_sum
  6. Datetime数据类型之datetime2和datetimeoffset数据类型
  7. “嫌贫爱富”之人,从一顿饭局当中便可看出
  8. 对创业者来说,创业心学就是一个不断提升自己
  9. Kubernetes详解(二十五)——Deployment控制器扩容
  10. c 语言随机生成迷宫,[原创]递归随机迷宫生成算法详解
  11. 激活Navicat premium12时出现“Rsa public key not find“报错时的解决方法
  12. 华为推送-华为PUSH SDK Android版接入方法
  13. puppet插件fact和hiera(puppet自动化系列3)
  14. 管道、管程、管态的区别
  15. 浏览器本地缓存:localStorage与sessionStorage
  16. FPGA图像处理的前景如何?
  17. vue elementUI 自定义日历内容
  18. Atomic原子类及原理
  19. CTF题库—实验吧(密码学)之疑惑的汉字
  20. FlyMcu下载时的问题

热门文章

  1. USACO section2.4 Cow Tours题解代码
  2. Visual Basic Script 程序参考手册-学习第4天:数组列表及Msgbox函数
  3. 绝热锥形与adc psr
  4. 【JavaScript】相关知识学习笔记
  5. Docker学习笔记之常用命令
  6. 制作一个简单的chrome插件
  7. L1-007 念数字(Python3)
  8. H5 iOS 自动调起软键盘
  9. python大数据入门书籍推荐书目_python 大数据入门书籍
  10. 凸包Graham算法