有关QT的问题大全

news2024/11/18 17:41:25

文章目录

  • 现在2022年,Qt发展如何?是就业的好选择吗?
  • 如何学习Qt,c++到什么程度可以去学qt?
  • 现在 Qt 好找工作吗?
  • 为什么工业软件开发一般用的都是QT?
  • 初学QT怎么学?
  • 请问目前做windows桌面应用程序,MFC、QT、C#哪个更好?
  • 如何才能学到Qt的精髓?
  • 如何才能学到Qt的精髓?

现在2022年,Qt发展如何?是就业的好选择吗?


什么叫好选择。

现状是,大部分做客户端的程序员面临这些类似的问题,

一、是市面上做客户端的薪资普遍不高,具体到用Qt的公司大部分是第二产业,军工、医疗、机械、公共事业,这些企业一般也不会给客户端开较高工资。

二、只会Qt其实是劣势,因为用Qt写代码和常规的C++ 有很大不同,很多C++的坑你都不会遇到,Qt用多了都不敢说自己熟悉C++了,其次,你多做几年就会发现单纯的用Qt写客户端其实并不是一个复杂的工作,对自己的提升有限,在客户端的路径上你必须学习如音视频、OpenGL之类的知识才能突破自己的薪资限制


如何学习Qt,c++到什么程度可以去学qt?

c++基本语法学完就能去学Qt了,变量,类型,循环,判断,指针,引用,模板之类的。

我是先学C++后来才学的Qt,主要就是把类这个概念学会,了解,掌握。

其中的知识点大概就是类的构造,继承,多态,操作符重载(刚开始不怎么用)这些概念。当你会了这些就可以开始学习Qt了。

还有一点,你最好对“事件循环”这个概念有一定了解,这样上手会快很多。

Qt上手还是非常的容易,自带的帮助文档中的内容非常详细,还有示例代码,如果想着重学习UI的话,给你说一个算是小技巧吧。

Qt Designer能让你通过以拖动控件放置的方式,可视化的设计UI界面,当你设计好界面编译完成后,在构建目录中会找到文件名形如“ui_XXXX.h”的头文件,这是Qt根据你的UI,自动帮你生成的C++代码,内容就是UI的C++实现方式,你可以跟着它自动生成的这段代码学来学习UI是怎么实现的,这个比自己看文档要来的直观很多。由于手写代码实现UI有时要考虑的东西太多,哪一步该做什么如果步骤不对可能就不会显示,所以这种方法还是很方便的。

好好学习,加油!

2022/03/07更新-------------

看知乎发现很多初学者会纠结于该学习哪个框架,也会有些“大牛”抨击这个框架不行,那个技术辣鸡的言论,我觉得拘泥于这些毫无意义。对于软件开发者来说,使用什么框架从来都不是我们学习的最终目的,我们应该将注意力放在如何分析问题,解决问题上。如果你认为学了Qt或者其他框架,只要调接口就算会了的话,是不太可能对你技术的提升有所帮助的。我们在学习一个框架的时候,除了要学他的接口怎么用,最重要的是学习他的接口是怎样实现的,他的框架是怎样设计的,将来你遇到类似的情况,在脱离了框架的时候,是不是也能用他们的方法来解决问题?这对你来说才是真正有用的东西。

如果你将自己局限于调接口就行,那你一辈子都注定是个底层码农。

现在 Qt 好找工作吗?

毕业工作以来在电力,军工,教育三个行业做开发工作,基本是在哪个行业开发就会涉及到一些新的技术,但是都是以qt为主来做的开发。比如从事电力做仿真,做socket通信,组态建模开发,跨平台linux下开发,qnx系统下移植,界面图表用到qwt,chartdirecter,脚本用了js,数据库用sqlite,DM;做军工工作,做了gis下仿真,军标标会,二三维仿真推演,qt集成osg,开发基于C++的仿真引擎,使用zeromq通信,数据库用sqlserver,开发分布式系统应用;做教育行业,做了嵌入式开发,技术涉及了指纹识别,人脸识别,图像识别,语音识别,用到opencv库,商业库,学了做Python脚本语言,通信用过redis消息队列,activemq,rabbitmq,数据库用到MySQL;基本上都是以qt做界面为主,需要用到别的技术再学习拿来用,但是都是熟悉能使用的程度,没有深入研究,电力和军工都是做项目,教育是产品,相比较做项目比较累,经常性的加班,但是工作一直饱满上班比较充实,一直可以写写代码研究问题,产品开发新产品还好,老产品就是做维护工作,工作量较小。


为什么工业软件开发一般用的都是QT?

说说个人的理解:

Qt不依赖图形系统。低端工控机的硬件配置可能是连一个图形系统都跑不起来的,而Qt可以直接写屏实现图形界面

其它不依赖图形系统的开发框架都比Qt弱。比Qt强的开发框架基本都依赖图形系统。

所以Qt就成为当下有现成解决方案中最强的开发框架了。

至于虚拟机,浏览器这些东西。。。你们觉得一个连图形系统都配置不起的嵌入式工控机会搭载浏览器跟虚拟机吗?java,python,html5等方案直接淘汰。

所以简单说:Qt对硬件配置要求极低。而C++性能又相对其他语言高,所以成为低配设备的首选。


补充一些内容吧:

就我司的情况而言,能跑安卓的机子基本都会考虑编个安卓上去。只有硬件配置低,跑不起来安卓的目标机才会用Qt开发。而能选型用Qt的目标机,基本上属于用Qt就是极限,根本不可能跑得动任何更大软件框架。

至于跑安卓有多简单,可能很多人没概念,大概就是绝大多数你选型的产商都可以给你提供立等可用的安卓选项,不用自己做的那种。

反倒是用Qt,对系统组的技术要求要高。毕竟系统组还要给你制作一套交叉编译的工具链,而安卓的工具链就是产商提供的现成的。对于有能力编译一整套工具链的系统组来说,质疑其技术能力是完全没有意义的,毕竟无论你是用啥编译器,人家连gcc,clang编译器本身都能重新编译出来,还能不懂你一个aot的编译?事实上,最终搭好环境后,搞虚拟机那些语言开发的程序员也不需要懂交叉编译,而搞Qt的开发就必须得懂交叉编译。

提升配置之后,java或者安卓逐渐会变为首选,但在有限配置下Qt依然为大,毕竟Qt强制了C++11的支持。这一点也有不少功劳。

初学QT怎么学?

话不多说,直接上干货

根据不同人的喜好,我将介绍三种学习qt的主流途径

我这里也说一下我个人比较喜欢的学习顺序

先看视频了解大概——>网页教程当作“字典”快速查找——>书作为辅助

视频:

对于初学者来说,我首先推荐看视频

直接说优点

1、最重要的一点,你看视频时可以看到演示过程的,这比你看网页和书都要直观。

2、看视频是可以倍速观看的,我一般都1.5倍速和2倍速看,缩短时间提高效率效果真的棒棒哒,非常适合想我一样阅读比较慢,可以听很快语速的人

3、视频课一般开始都会介绍一下整体框架的,可以快速有个大概的了解,也可以先做到心中有数,一般的网页教程和书的开头也会有类似的框架介绍,不过大家从小就适应了这种老师带的教学模式,看视频学起来可能会轻松一点

不过这里也有一些坑需要注意

在选择视频的时候需要看那些知识点密度比较大的来看。现在的Qt教学视频很多都是机构的内部教学视频的现场录制版,杂音比较大,而且会有挺多废话的,看的时候会有点效率不高的感觉。所以你在选择的时候不要觉得视频教程的全部时间越长就越觉得它说的知识点比较多,这是一个非常大的误区

然后视频去哪找应该不用我多说了,毕竟众所周知,B站是一个学习的地方,你想要的样子,他(她)都有哈哈哈。

如果你也懒得去自己找,用我推荐的也可以,下面推荐的是我看过觉得比较好的

推荐:

2020千锋_物联网_QT开发编程全套教程(通俗易懂)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com/video/BV1RA411q7Um?p=52img

这个教程是我看了B站上的qt视频之后觉得做的比较好的,时间也不是很长,视频质量也还不错,很适合快速入门

QT案例_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com/video/BV1xJ411M7E4?from=search&seid=6812846755768475295img

这是一个纯qt案例,结合上面的视频一起食用效果更佳。

网页教程

网页教程现在也挺多的,用来快速查找非常方便,你看过视频之后,时间长了有些东西怎么用你可能忘了,你这些网页教程里看看比翻书可能要快点,而且即查即用,代码还可以直接复制,真的很方便,谁用谁知道

不多说,直接上链接

《Qt 学习之路 2》www.devbean.net/2012/08/qt-study-road-2-catelog/

Qt教程,Qt5编程入门教程(非常详细)c.biancheng.net/qt/img

Qt 学习之路_w3cschoolwww.w3cschool.cn/learnroadqt/tufx1j3q.htmlimg

Qt 快速入门系列教程 · Qt 快速入门系列教程shouce.jb51.net/qt-beginning/

这里说一下,前三个链接主要侧重的是代码怎么写,后面一个链接侧重的是ui拖拽实现

书籍

推荐一本吧,名字叫:C++ GUI QT 编程

因为书不是我推荐的重点,上面推荐的视频和网页教程已经挺全面的了,书只是作为辅助,比如你网络不好,不方面带电脑的时候看看,不过这本书确实写得挺好的

书长这样

img

本来想给个PDF下载链接,不过想想,看PDF的还不如直接看网页的教程呢

请问目前做windows桌面应用程序,MFC、QT、C#哪个更好?

回答问题之前,先装个逼——没有主导过生命周期三年以上的桌面软件项目的,闭嘴。你连一个桌面软件项目的生命周期都没经历过,你凭什么做技术选型?凭信仰吗?

装逼结束,正文开始。

首先,非主流技术和过时技术先淘汰掉,包括但不限于:delphi、mfc、c++ builder、gtk+、java系、易语言……

最终入围的基本上就三种选择:Web、Qt、C#。

首先说Web,我们明确一点,当下的桌面软件项目,必须具备完整的Web能力(包括开发/部署/运行/测试等),直观的说就是你的软件中必须包含浏览器。尤其是企业软件,发展到后期,除了核心功能之外,必然附带大量的增删改查模块,这部分不用Web你会极其难受。有些人可能native用的挺熟练的,觉得不就是表格表单报表么?我用native一样堆出来——相信我,你在浪费生命。

Web必然入选,但是注意,Web入选不意味着electron入选。事实上如果不是互联网公司的项目,我不建议使用electron。一方面,传统公司不需要迭代那么快,他们前端力量也有限,出了问题解决不了;另一方面,哪怕是互联网项目,发展到后期,也不约而同地开始约束前端随意调用nodejs API的行为。

建议使用libcef提供Web能力,同时native封装有限的API供Web调用。这里我不推荐使用框架原生的webview,比如QtWebEngine,以及winform自带的WebBrowser组件,这些工具比较冷门,资料少,出了问题不好排查,而且浏览器内核版本也未必符合要求。

结论:libcef入选,electron淘汰,原生webview淘汰。

接下来考察C#和Qt,这两个技术各有支持者,不是非黑即白的关系。比如我看韦大的答案下面很多人在争论工控领域应该用Qt还是C#,其实国内工控领域的老大浙大中控,这两个技术都在使用。

我个人比较推荐Qt,极其强大,跨平台,可以用C++单一语言(调试成本低),还有一些很贴心的功能,比如基于qss的换肤。不要觉得换肤不重要,实际上做项目卖软件的公司经常遇到这样的需求,要么是甲方想用专有皮肤,要么是你接到的项目是OEM项目,中间商要求换肤。

但如果使用Qt,我不推荐使用Quick(Qml),太非主流,而且对比Web没什么优势。建议能用Web的模块就用Web,需要深度开发的模块使用QWidget配合OpenGL深度开发。

结论:Qt入选,但是Quick淘汰。

C#能有一席之地,主要是因为传统。有些领域长期以来就是使用C#开发,人才比较集中(C#人才确实比C++好招,而且便宜,也更不易跳槽),开发效率也确实高。如果没有跨平台诉求,也不是前瞻性很强的项目,可以考虑沿用C#(关于前瞻性,多说一句,新冷战都要来了,你确定你的项目不需要跨平台嘛)。

用了C#,还要选择是用winform还是用WPF,按理说这不该是个问题——无脑WPF就完事儿了,毕竟开发效率高,对于高分屏等新问题微软也会有相应的支持。但是什么问题只要涉及到“传统”,就说不清楚了,只能说如果是新产品,不考虑技术资产继承的话,建议WPF。

结论:WPF入选,winform你看着办。

综上,如果是我来作架构师,通常情况下我会选择Qt+libcef。兼顾强大功能与开发效率,同时Qt和Web前端都是前景光明的主流技术,社区力量强大,技术风险小。如果考虑到特定行业的技术积累(不光是你自己的积累,还有供应商等等)和人才招聘,可以考虑WPF+libcef。


如何才能学到Qt的精髓?

被邀请了很久了,一直在思考,今天终于下决心开始写回答。

这个问题的确是够大的,Qt的代码规模在整个开源世界里也是名列前茅的,这么大的项目其中的精华是非常多的,很难说得全面,实际上我对Qt也不是完全了解,里面还有很多我不熟悉的东西。

首先,我想谈的是 signal/slot,Qt算是发明了signal/slot,这个思想也被其他一些框架语言借鉴了。

谈signal/slot之前先来谈谈C++的缺欠,这个问题也被讨论很多了,这里只谈一点,C++的设计目标是面向对象语言,它不仅提供了对象的定义和构建的方式,也定义了对象间的关系,比如 继承 派生 聚合,但是它没有提供对象间通信和共享数据的方式,这个缺点在一般程序的开发上不算个大问题,我们可以自己简单实现,但是对于GUI开发,这个缺点就被放大了很多倍。GUI上的对象实在太多,窗口是对象,布局是对象,定时器是对象,而且对象间有错综复杂的关系,通信和数据交换非常频繁,比如按钮按下要通知父窗口或容器对象,滚动条变化了要通知列表对象。这种数量庞大的对象以及复杂的通信关系,可不是自己搞个简单的实现就能解决的。

说到通信和共享,其实他们是一回事,共享很多时候就是为了通信,而C++里要通信就必然要共享。

比如,一个类实例拥有另一个的指针,就可以访问对方的数据,调用对方的方法了,这实际就是共享了一个指针,这个类指针也是另一个对象的this。访问数据和调用方法其实都是通信,把对方的数据拿过来,把自己的数据送过去,交换数据就是通信。

在C++里,由于没有GC,管理大量原生指针是极其危险的,对象的生命周期不可控,野指针的出现概率会很高,大型C++ 的GUI项目参与开发的人数众多,很难保证都不犯错。

那么用观察者模式呢?其实也一样,还是共享了IObserverXXX指针。

那么发消息行不行呢?比如 MFC那样,可以,但是本质上还是共享了窗口句柄,否则消息发给谁呢?而且还带来另外的问题,就是类型安全,消息的参数是无法类型安全的。

Qt作为大型GUI项目的Framework,它必须解决这个问题,否则这个程序是写不大的,写大了就会问题层出不穷。

来看一段代码,看看Qt 的解决方案:

Window::Window()
{
    QPushButton *b = new QPushButton(this);
    connect(b, SIGNAL(clicked()), SLOT(on_button_clicked()));
}

Window::on_button_clicked()
{
    QPushButton *b = qobject_cast<QPushButton*>(sender());
    b->setText("clicked!");
}

这段代码,通过Qt的signal slot机制,把QPushButton的点击事件连接到了Window的on_button_clicked响应函数上。

Window 和 QPushButton并没有互相保存对方指针,QPushButton的指针b 只是个局部变量,用过之后很快销毁,Window和QPushButton实现了通信,数据共享,事件响应,但是却没有共享指针,而且他们不受对方的生命周期影响,无论谁先销毁,这段代码都不会出错。

这种方式还是类型安全的,当signal和slot的类型不匹配的时候 connect是会报错的。

有人会说,我们用智能指针不就好了。好啊,智能指针你不会自己写吧,那么用boost?boost里能创建窗口吗?不能吧,还是要其他GUI库的,把两个异构的Framework撮合到一起也不是轻而易举的。再说了Qt出来的时候,别说Boost,STL都还没有呢。

signal/slot为对象间通信提供了非常灵活方便的实现,如果你只关心一个signal那就可以只connect一个,可以多个slot连接同一个signal,也可以一个slot连接到多个signal,Qt会负责管理连接关系和对象生命周期,对象销毁时会自动断开连接。

Qt为了实现signal/slot也是付出代价的,在无法改变C++语法的情况下,只能通过moc预编译器来扩展关键字。这大概是独一无二的实现方式了,后来的signal/slot实现要不用C++ template,或者发明种语言直接做到语法里,比如C# delegate。

最后总结下,Qt的signal/slot是为了解决对象间通信问题,同时避免共享指针造成的内存野指针和对象生命周期问题。

下一个议题,等我想好了再说。。。。


如何才能学到Qt的精髓?

需要一些计算机图形学知识,才能更深刻理解Qt。

首先是显示器。

最早的显示器是机械的尼普科夫盘。尼普科夫盘是显示器的雏形,知道其名即可。

然后就是大名顶顶的阴极射线管显示器,英文缩写为CRT。

当前最流行的是液晶显示器。

把显示器(从CRT开始)接到计算机上,就催生了计算机图形学。首先是矢量图。后来dram便宜了,出现了行扫描,帧缓冲区和各种图元(点线三角形)的扫描转换算法(光栅化)。

帧缓冲区通过显示控制器(Display Controller)连接显示器。

显示控制器分为CRTC、编码器(Encoder)、发射器(Transmitter)和连接器(Connector)。CRTC在帧缓冲区的整个范围取一个区域,相当于一个viewport,想象一下,帧缓冲区就是整个桌面,CRTC就是其中一个窗口。Encoder,对于VGA是DAC(数模转换器),对于HDMI和DisplayPort是serdes(串行编码)。发射器(Transmitter)是做信号和电平调整的。Connector就是具体的VGA接口或者HDMI及DisplayPort接口。

这是现代计算机图形学的基础。

img

后来,三角形成了最基本的图元,用于构建万事万物的模型。

两个同色三角形构成一个矩形。

有了点和描述字体点阵的字体文件,你就可以画文字。

有了矩型和文字,你就可以画label。

PS/2鼠标动作的时候会产生一个中断(你要有操作系统中处理中断的一般机制idt, int handler…),鼠标中断处理函数能从一个特定端口读出数据,这数据描动鼠标运动在x,y轴的±量和按键是按压还是弹开。配合内存中上一个鼠标的状态数据,就算出了当前鼠标xy轴坐标。

每产生一个鼠标中断,就按照一定的类定义,产生一个事件,并包装鼠标当前坐标、按键动作、状态为事件。

有了鼠标事件和label,你就可以作出button了。

键盘的驱动和事件你也能解决了。

有了键盘事件、鼠标事件、文字和矩形,你就可以作出texteditor了。

其实所有像素图都是矩形。在矩形内里组合组多个项目,你就可以作出treeview了。

到这里作出其他控件也不是什么难事。

对于一个具体的UI,就是创建一套从根窗口开始的控件类对象的结点系统。UI中的各个控件类对象,按照父子关系,结成树状结构。然后遍历这个树,执行各个控件类的绘制(drawcall)函数。当然还要有Z缓冲区,控制控件类对象的层叠关系。就这样,UI就被绘制出来了。

Qt就是一个结构良好的、面向对象的,这么一个控件库框架。

参考文档:

可以介绍下你研发的gui框架吗?

如何利用opengl绘制用户界面?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/29754.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工作中Java Stream的简单应用

标题开发使用filter() and map()max()根据集合对象中的某个属性取最大值先解释一下各变量含义: temps集合是userids的子集(大前提) cache是temps集合在userids集合中的补集 简单来说就是,userids集合-temps集合cache补集,如下图所示目标:此次为工作中实际遇到的问题,需要得到c…

C++编译链接

文章目录C编译链接C编译模式分离式编译是个啥&#xff1f;怎么实现上述过程&#xff1f;定义与声明引出新的问题头文件有关头文件用来干啥&#xff1f;include头文件中应该写什么&#xff1f;#ifndef通过gcc/g命令来看完整的编译链接过程预处理(Preprocessing)编译(Compilation…

院内导航系统哪家口碑好?医疗院内导航地图公司排名

“医生&#xff0c;请问验血怎么走&#xff1f;”   “护士&#xff0c;请问药房在哪儿&#xff1f;”   “您好&#xff0c;做CT在什么地方&#xff1f;”   这些问题是医生和护士经常遇到的问题。的确&#xff0c;患者就诊时&#xff0c;由于对医院环境不熟悉&#xff…

云计算(虚拟化)面试宝典

一:服务器虚拟化 1.名词解释 (1)资源动态调整(对象是虚拟机) 管理员操作,对CPU、内存、网卡、硬盘、GPU进行调整。 FusionCompute支持虚拟机资源动态调整,用户可以根据业务负载动态调整资源的使用情况。 虚拟机资源调整包括: 离线/在线调整vCPU数目 无论虚拟机处于离线…

如何使用C++图形界面开发框架Qt创建一个应用程序?(Part 3)

Qt是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 点击获取Qt组件下载 …

Flink的状态编程

Flink 处理机制的核心&#xff0c;就是“有状态的流式计算”。在流处理中&#xff0c;数据是连续不断到来和处理的。每个任务进行计算处理时&#xff0c;可以基于当前数据直接转换得到输出结果&#xff1b;也可以依赖一些其他数据。这些由一个任务维护&#xff0c;并且用来计算…

【HAL库】STM32CubeMX开发----STM32F407----CAN通信实验

STM32CubeMX 下载和安装 详细教程 【HAL库】STM32CubeMX开发----STM32F407----目录 前言 本次实验以 STM32F407VET6 芯片为MCU&#xff0c;使用 25MHz 外部时钟源。 CAN通信波特率为 500K bps。 CAN通信引脚 与 MCU引脚 对应关系如下&#xff1a; CAN通信引脚MCU引脚TXPB9RXP…

虹科教您 | 虹科Automation softPLC入门操作指南(2)——子程序和用户自定义功能块 UDFB

虹科KPA Automation softPLC是为Linux、Xenomai、INtime、Windows等实时操作系统开发PLC的编程环境&#xff0c;适合需要使用IEC61131-3和PLCopen标准的控制技术和进行PLC编程的用户。本篇文章将帮助您创建和使用IEC语言开发的函数和功能块。 Automation softPLC Studio 命名规…

kettle 9.2源码打包和idea环境启动及常见错误

一&#xff1a;源码打包 这里为什么是kettle 9.2&#xff0c;因为kettle 9.3需要jdk11 这里直接去下载kettle的源码&#xff0c;tag9.2.0.4-R。这里需要自己搭建一个nexus仓库&#xff0c;因为有些包从kettle的仓库里面下载不下来。 nexus新建仓库代理, 记得加到public里面去 …

学术界or工业界,高校博后转行大厂工程师心得!

8本电子书免费送给大家&#xff0c;见文末。 导读&#xff1a;以下是这篇文章是一位 七月在线 学员的的学习和面试经历的分享&#xff0c;现将学员学习和面试心得分享给大家&#xff0c;祝大家都能有好的offer。 1 个人情况 我之前在高校做博后&#xff0c;现在转行到大厂做…

数据库的基本操作(7)

在这一篇博客中我将对数据库进行一个结尾&#xff0c;这将是关于数据库基本内容的结尾。 首先我们来简单总结一下前面的内容&#xff1a; 前面主要讲了Mysql中的索引和事务&#xff0c;这是面试必考的内容。 索引&#xff0c;怎么理解索引呢&#xff1f; 1.索引存在的意义&…

通用汽车在华加速推出智能电动车型

到2025年底前&#xff0c;推出超过15款基于奥特能平台打造的电动车型基于奥特能平台的雪佛兰FNR-XE纯电概念车全球首发通用汽车全新“软件定义汽车”平台将于明年正式推出近日&#xff0c;通用汽车中国在上海举办了“2022科技展望日”&#xff0c;展示了其在Ultium奥特能全球电…

IE高级配置中支持的SSL/TLS协议对应注册表值

一、手动勾选"Internet选项->高级->安全->使用TLS 1.2" 二、以编程方式勾选"Internet选项->高级->安全->使用TLS 1.2" 1.注册表值SecureProtocols对应的含义 注册表的路径为&#xff1a;HKEY_CURRENT_USER\Software\Microsoft\Windows…

【第六部分 | JavaScript高级】2:函数高级

目录 【第二章】函数进阶 | &#xff08;复习&#xff09;函数声明 | 函数也是对象 | 函数的this指向 | 改变函数this的指向 | 函数的“严格模式” | 闭包 | 浅拷贝和深拷贝 【第二章】函数进阶 | &#xff08;复习&#xff09;函数声明 | 函数也是对象 Java中的方法好…

Android基础二:常见的几种组件

关注我&#xff0c;会持续发布关于Android学习的内容&#xff01; 文章目录 前言 一、MaterialButton 二、MaterialButtonToggleGroup 三、TextView 文本组件 四、ImageView控件 总结 前言 本节我们来学习安卓&#xff08;Android&#xff09;的几种常用的组件&#xff0c;包括…

PTA题目 装睡

你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏&#xff0c;你可以发现谁在装睡&#xff01;医生告诉我们&#xff0c;正常人睡眠时的呼吸频率是每分钟15-20次&#xff0c;脉搏是每分钟50-70次。下面给定一系列人的呼吸频率与脉搏&#xff0c;请你找出他们…

VMware虚拟机安装ubuntu-16.04.5详细教程

不是每一位程序员都必须玩过linux&#xff0c;现在大多数服务器都是linux系统的&#xff0c;很多生产上的框架和工具都是安装在服务器上的&#xff0c;而且有不少大公司都要求熟悉在linux上开发&#xff0c;因此小编个人觉得大家有必要去了解一下linux&#xff08;现在大部分服…

vue.js毕业设计,基于vue.js前后端分离图书购物商城系统设计与实现(H5移动项目)

功能介绍 【后台管理员功能】 会员列表&#xff1a;查看所有注册会员信息&#xff0c;支持删除 录入资讯&#xff1a;录入资讯标题、内容等信息 管理资讯&#xff1a;查看已录入资讯列表&#xff0c;支持删除和修改 广告设置&#xff1a;上传图片和设置小程序首页轮播图广告地…

RK3588-EDGE Ubuntu搭建HTTP服务器

一:开发环境 RK3588-EDGE版本根据指导文档开发环境需要Ubuntu18.04及以上。 本次选择在虚拟机中安装Ubuntu20.04进行开发。 二:安装Apache2 sudo apt-get install apache2 安装成功后配置文件位于“/etc/apache2 ” 其次在“/var/www/html”目录下会生成index.html文件…

mysql 多版本冲突安装(5..5和5.7)

1.我先装好了了5.5但是发现版本过低&#xff0c;需要重新装5.7&#xff08;所以只记录5.7的安装过程&#xff09; zip版的5.7&#xff0c;先解压 创建my.ini文件 [mysqld] port 3306 basedirC:\D\mysql-5.7.29-winx64datadirC:\D\mysql-5.7.29-winx64/data max_connections2…