Qt重绘控件之Wifi

背景

     这两天新买了无线路由器,说明书介绍说该设备信号相当不错,各种参数眼花缭乱。于是设置好wifi,并用手机连接上,先是尝试了下网速 然后干拿着跑了很远尝试信号情况。那么手机顶部wifi的图标指示了当前信号的强度,wifi强度变化让我来了兴趣 于是有了这篇Qt重绘控件的想法。哈哈,挺好玩的。

     本控件已经制作完成,使用的时候可直接使用。额。。还是先看看成品图再说,
在这里插入图片描述
     效果如上,貌似还不错。是的,那么接着说一下绘图步骤及用法,最后贴上源码供有兴趣的朋友了解一哈。(顺便一提,有好的作品请需要发布,后台请联系微信公众号)

步骤
  • 创建一个类对象继承QWidget
const unsigned short radius = 30;
class SigDisplay : public QWidget
{
	Q_OBJECT

public:
	SigDisplay(QWidget *parent = nullptr);
	~SigDisplay();
};
  • 重写虚函数 paintEvent
protected:
	virtual void paintEvent(QPointEvent *);
  • 设置反锯齿
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
  • 获取绘图起点
QPoint SigDisplay::getStartPoint()
{
	unsigned short centerX = width() / 2;
	unsigned short centerY = height() - height() / 3;
	return QPoint(centerX,centerY);
}
----------------
painter.translate(getStartPoint());
  • 绘制圆
painter.drawEllipse(0,0,radius,radius);
  • 画圆弧 * 3
setLevelColor(&painter,2);
painter.drawArc(rectArc1,OneStartAngle,OneSpanAngle);

至此,大部分核心已经抛出去了。哈哈

另外可以了解一下wifi部分知识:

wifi介绍

     无线网络发明人是悉尼大学工程系毕业生Dr John O’Sullivan领导的一群由悉尼大学工程系毕业生组成的研究小组 。IEEE曾请求澳洲政府放弃其无线网络专利,让世界免费使用Wi-Fi技术,但遭到拒绝。澳洲政府随后在美国通过官司胜诉或庭外和解,收取了世界上几乎所有电器电信公司(包括苹果、英特尔、联想、戴尔、AT&T、索尼、东芝、微软、宏碁、华硕,等等)的专利使用费。2010年我们每购买一台含有Wi-Fi技术的电子设备的时候,我们所付的价钱就包含了交给澳洲政府的Wi-Fi专利使用费。2010年全球每天估计会有30亿台电子设备使用无线网络技术,而到2013年底CSIRO的无线网专利过期之后,这个数字预计会增加到50亿。无线网络被澳洲媒体誉为澳洲有史以来最重要的科技发明,其发明人John O’Sullivan被澳洲媒体称为”Wi-Fi之父“并获得了澳洲的国家最高科学奖和全世界的众多赞誉,其中包括欧盟机构,欧洲专利局,European Patent Office(EPO)颁发的European Inventor Award 2012,即2012年欧洲发明者大奖。
     组成结构:一般架设无线网络的基本配备就是无线网卡及一台AP,如此便能以无线的模式,配合既有的有线架构来分享网络资源,架设费用和复杂程度远远低于传统的有线网络。如果只是几台电脑的对等网,也可不要AP,只需要每台电脑配备无线网卡。AP为Access Point简称,一般翻译为“无线访问接入点”,或“桥接器”。它主要在媒体存取控制层MAC中扮演无线工作站及有线局域网络的桥梁。有了AP,就像一般有线网络的Hub一般,无线工作站可以快速且轻易地与网络相连。特别是对于宽带的使用,Wi-Fi更显优势,有线宽带网络(ADSL、小区LAN等)到户后,连接到一个AP,然后在电脑中安装一块无线网卡即可。普通的家庭有一个AP已经足够,甚至用户的邻里得到授权后,则无需增加端口,也能以共享的方式上网。通信接口方面:2010年基本是采用USB接口形式,PCIE和SDIO的也有少部分,PCIE的市场份额应该不大,多合一的价格昂贵,而且实用性不强,集成的很多功能都不会使用,其实也是一种浪费。供电方面:多数是用5V直接供电,有的也会利用主板设计中的电源共享,直接采用3.3V供电。天线的处理形式:可以有内置的PCB板载天线或者陶瓷天线;也可以通过I-PEX接头,连接天线延长线,然后让天线外置。规格尺寸方面:这个可以根据具体的设计要求,最小的有nano型号(可以直接做nano无线网卡);有可以做到迷你型的1212左右(通常是外置天线方式采用);通常是2512左右的设计多点(基本是板载天线和陶瓷天线多,也有外置天线接头)。跟主板连接的形式:可以直接SMT,也可以通过2.54的排针来做插件连接(这种组装/维修方便)。软件的调试要结合具体的方案主控,毕竟Wi-Fi部分仅仅是一个无线的收发而已。很多用户在咨询的时候,很容易混淆!可以说,2013年Wi-Fi模块应用最火爆的领域就是MID市场,同时传统的一些网络领域应用市场也有渗透,比如一些工业控制领域/网络播放领域/甚至一些遥控领域也有在考虑的,基本上是能用到网络的部分都希望尝试无线化!

源码

源码下载

关注

微信公众号搜索"Qt_io_"或"Qt开发者中心"了解更多关于Qt、C++开发知识.。

笔者 - jxd

发布了43 篇原创文章 · 获赞 0 · 访问量 3013

猜你喜欢

转载自blog.csdn.net/automoblie0/article/details/101164977