- 博客(269)
- 资源 (13)
- 收藏
- 关注
原创 使用Python和Qt6创建GUI应用程序--关于Qt的一点介绍
Qt是一个免费的开源部件工具包,用于创建跨平台GUI应用程序,允许应用程序从Windows瞄准多个平台,macOS, Linux和Android的单一代码库。但是Qt不仅仅是一个Widget工具箱和功能内置支持多媒体,数据库,矢量图形和MVC接口,它是更准确地认为它作为一个应用程序开发框架。Qt于1991年由Eirik Chambe-Eng和harvard north共同创立1994年成立第一家Qt公司Trolltech。Qt目前是由Qt公司开发的并继续定期更新,添加功能和扩展移动以及跨平台支持。
2025-01-27 15:29:09
860
原创 使用Python和Qt6创建GUI应用程序---GUI的一个非常简短的历史
这开启了GUI的开发的开端,包括苹果Lisa(1983),加入了菜单栏和窗口控件的概念,以及Atari (GEM)和Amiga的其他系统;由于缺乏兼容性,早期的gui并没有像你想象的那样一炮而红,启动时GUI软件需要昂贵的硬件支撑——特别是对于家庭用户,支付不起昂贵的硬件费用。然而,慢慢地随着技术的进步和成熟,GUI范式成为与计算机交互的首选方式,WIMP也变成界面的为标准。这些早期的系统已经具备了许多我们认为现代桌面gui理所当然的包含的功能,包括窗口,菜单,单选按钮,复选框和图标。
2025-01-26 22:44:07
395
原创 使用Python和Qt6创建GUI应用程序--前言
有很多新的概念需要了解和学习,以获得和学习到可以展开工作所需要的东西。不可能通过一本书的内容提供整个Qt生态系统的完整详细描述,所以有必要参考资源来学习,如Pythonguis.com网站和等,都是不可多得的宝贵资源。只要记录好你的中断点,并对前面学习和调试的代码做一下备份,如果在其他的地方找到需要的内容,或者不能解决,可以回过头来再详细前面学习的内容,进行深入思索,可能会有新的思路,或者找到问题的解决办法。按照由简单到复杂的顺序展开的,在学习过程中,可以根据自己需要的内容可以选择有用的内容进行重点学习。
2025-01-26 21:37:26
291
原创 通过ShiftMediaProject生成ffmpeg的DLL和Lib的简要说明
ShiftMediaProject提供的任何依赖项都应该下载到FFmpeg文件夹旁边,因为它们将使用相同的OutputDir的位置。构建每个依赖项的项目可以在各自的存储库./SMP目录中找到,或者使用包含所有内容的ffmpeg_depth.sln。b)将nv-codec-headers存储库“include”文件夹的内容保存到“OutputDir/include/*”中。b)将AMF库的内容“AMF/public/include”保存到“OutputDir/include/AMF/*”中。
2025-01-18 13:21:33
802
原创 webkit浏览器内核编译(2024年11月份版本)
WebKit 是一个开源的浏览器引擎,与之相对应的浏览器内核引擎有Gecko(Mozilla Firefox 等使用),Trident(也称MSHTML,IE 使用)和EdgeHTML(也称Chakra,Edge和其他UWP浏览器使用)。同时WebKit 也是苹果Mac OS X 系统浏览器的引擎框架版本的名称,主要用于Safari,Dashboard,Mail 和其他一些Mac OS X 程序。
2024-11-23 12:28:29
1584
原创 c++编译报C1004错误的原因及解决办法
可能是你的代码文件最后没有正确的结束符,或者是缺少了一些必要的头文件或语句。默认磁盘驱动器没有足够的空间用于临时文件,需要大约两倍于源文件的空间。编译器到达了源文件尾但未解析构造。计算结果为假的 #if 指令缺少结束的 #endif 指令。源文件不是以回车和换行结束。结束的注释标记 (*/)
2024-11-22 22:20:11
348
原创 WebKit的Windows接口(适用2024年11月份版)
并且,在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ fontsubstitute \MS Shell Dlg中替换MS UI Gothic与Microsoft Sans Serif。安装MSBuild的LLVM扩展。但是,如果绑定的编译器太旧,您可能需要设置自定义LLVM位置和工具集。创建一个具有以下内容的批处理文件,并将其调整到您的PC。如果出现错误,请检查您的路径设置,包括LLVM和GnuWin32(Gperf)。
2024-11-14 14:57:48
1071
原创 WebKit(适用2024年11月份版本)
WebKit是一个跨平台的web浏览器引擎。在iOS和macOS上,它支持Safari, Mail, Apple Books和许多其他应用程序。有关WebKit的更多信息,请参阅WebKit项目网站。
2024-11-14 11:53:35
1577
原创 CMake教程:第一步:一个基本的起点
从哪里开始使用CMake?这一步将介绍一些CMake的基本语法、命令和变量。随着这些概念的介绍,我们将通过三个练习并创建一个简单的CMake项目。本步骤中的每个练习都将从一些背景信息开始。然后,提供一个目标和有用的资源列表。“要编辑的文件”部分中的每个文件都位于Step1目录中,并包含一个或多个TODO注释。每个TODO表示要更改或添加的一两行代码。TODO是按数字顺序完成的,首先完成TODO 1,然后完成TODO 2,依此类推。入门部分将提供一些有用的提示并指导您完成练习。
2024-09-29 15:41:59
835
原创 CMake教程
CMake教程提供了一个循序渐进的指南,涵盖了CMake帮助解决的常见构建系统问题。了解各种主题如何在示例项目中协同工作将非常有帮助。
2024-09-29 14:36:15
293
原创 CMake介绍
CMake是一个管理源代码构建的工具。最初,CMake被设计为各种方言Makefile的生成器,今天CMake生成现代构建系统,如Ninja,以及ide(如Visual Studio和Xcode)的项目文件。CMake广泛用于C和c++语言,但它也可以用于构建其他语言的源代码。第一次接触CMake的人可能有不同的初始目标。要了解如何构建从互联网下载的源代码包,请从用户交互指南开始。这将详细介绍运行cmake(1)或cmake-gui(1)可执行文件所需的步骤,以及如何选择生成器,以及如何完成构建。
2024-09-29 14:29:42
338
原创 Windows Ribbon框架
Windows Ribbon框架是一个丰富的命令表示系统,它提供传统 Windows 应用程序的分层菜单、工具栏和任务窗格的新式替代方法。功能区框架的功能和外观与 Microsoft Office 2007 Fluent 用户界面类似,它由一个Ribbon命令栏组成,该命令栏通过应用程序窗口顶部的一系列选项卡和上下文菜单系统公开应用程序的主要功能。是一组运行时库,使开发人员能够将 Windows 功能区应用程序同时面向 Windows Vista 和 Windows Server 2008。
2024-09-21 22:45:44
703
原创 Microsoft Ribbon for WPF参考
本节提供了Microsoft Ribbon for Windows Presentation Foundation (WPF)的参考API。Microsoft Ribbon for WPF参考。
2024-09-21 22:36:33
586
原创 Ribbon布局和尺寸调整
Ribbon控件会随着应用程序窗口宽度的变化而动态调整大小。下面的插图显示了当应用程序窗口变窄时,Ribbon如何调整大小。当窗口有足够的可用空间时,选项卡中的每个组将以其最大指定大小显示。当窗口变窄时,剪贴板和插入组将以较小的尺寸显示。当窗口进一步缩小时,剪贴板、插入和段落组将显示为折叠状态。当组折叠成下拉按钮时,打开下拉按钮时将显示其最大大小变化。对于复杂的Ribbon布局,通常需要精确指定Ribbon如何随窗口调整大小。可以在控件级别、组级别或选项卡级别指定调整大小的行为。
2024-09-21 19:02:52
1163
原创 Ribbon (WPF)
快速访问工具栏是一个小的、可自定义的工具栏,它提供了对常用命令的访问,与选择哪个Ribbon选项卡无关。如果你刚刚开始使用Ribbon,或者需要关于Ribbon UI的一般信息,请参阅Windows用户体验交互指南中的Ribbon主题。微软的Ribbon 是Windows Presentation Foundation (WPF)是一个WPF一个组件,它包含了所有基本Ribbon的特性和功能,包括选项卡、组、控件、快速访问工具栏、与窗口标题栏的集成,以及通过动态布局调整大小。
2024-09-13 13:09:39
1921
原创 LABVIEW概述
但是随着中国互联网科技的日益壮大,也有很多优秀的替代软件可以为我们测量工程师们所用,近年来被广泛使用的ATECLOUD云测试平台可以说是中国人自己的'LABVIEW',可用于上位机软件开发,一拖即用,相较于传统的代码编程、LabVIEW软件的图形化编程,平台封装了算子、各类仪器指令、数据洞察,让不懂编程的人也可以快速上手。平台为大家提供了非常不错的程序开发环境,此软件有着极为强大的数据处理系统,可以帮助大家更快的集成各类数据并进行分析,兼容性也非常强,是开发测量或控制系统的理想选择。
2024-06-10 18:24:10
753
原创 LabVIEW2017破解安装教程
8、打开安装目录下的LabVIEW2017注册机“NI License Activator 1.1.exe”,右键点击和LabVIEW2017有关的所有内容,选择“Activator”将所有选项变为绿色即可。1、新版LabVIEW2017分为32位和64位两个平台,多种语言版本(需要LabVIEW2017中文版的朋友请选择WinChn版本),大家选择自行选择符合系统的版本下载并解压。3、程序自动检测NET.等必备项目,点击“是”安装安装完成后,自动弹出LabVIEW2017的安装界面,点击Next。
2024-06-05 14:51:42
1546
1
原创 《Python网络爬虫从入门到实践(第2版)》学习之三:静态网页抓取
在网站设计中,纯粹HTML格式的网页通常被称为静态网页,早期的网站一般都是由静态网页制作的。在网络爬虫中,静态网页的数据比较容易获取,因为所有数据都呈现在网页的 HTML代码中。相对而言,使用AJAX动态加载网页的数据不一定会出现在HTML代码中,这就给爬虫增加了困难。本章先从简单的静态网页抓取开始介绍,第4章再介绍动态网页抓取。在静态网页抓取中,有一个强大的Requests库能够让你轻易地发送HTTP请求,这个库功能完善,而且操作非常简单。
2024-06-03 22:52:09
1345
原创 《Python网络爬虫从入门到实践(第2版)》学习之二:编写第一个网络爬虫
读完本章就可以体会到通过完成一个简单的Python网络爬虫而带来的乐趣。本章主要介绍如何安装Python和编辑器Jupyter、Python的一些基础语法以及编写一个最简单的Python网络爬虫。
2024-06-03 19:37:34
1387
原创 《Python网络爬虫从入门到实践(第2版)》学习之一:网络爬虫入门
第一章:网络爬虫入门通过本章学习,能够明确学习网络爬虫的原因、网络爬虫带来的价值、网络爬虫是否合法以及网络爬虫的基本议题和框架。让读者在开始学习爬虫之前理解为什么学习、要学什么内容。
2024-05-29 16:18:54
1344
原创 Flag寄存器
8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)。标志寄存器(简称为flag)和其他寄存器不一样,其他寄存器是用来存放数据的,都是整个寄存器具有一个含义。而flag寄存器是按位起作用的,也就是说,它的每一位都有专门的含义,记录特定的信息。当执行一个加法(或减法)运算,使结果的低4位向高4位有进位(或借位)时,AF=1;CF(Carry Flag)——进位标志位。CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有以下3种作用。
2024-05-29 10:06:03
580
原创 《WebKit 技术内幕》学习之十五(6):Web前端的未来
在Gecko层上面的是Gaia层,它包含了各种帮助生成Web应用的工具,以及基于系统的应用(如通信录、电话应用等)和经过认证的其他应用。而对于其他众多的操作系统功能,如果不需要,它根本不会被包含进来,所以它是一个很轻量级的操作系统,结构上非常简单和清晰明了,图15-7中的架构图就是来源于Chromium的官方网站,具体参见这个网址:http://www.chromium.org/chromium-os/chromiumos-design-docs/software-architecture。
2024-01-26 14:37:21
1068
原创 《WebKit 技术内幕》学习之十五(5):Web前端的未来
不同于Cordova项目,Crosswalk不仅仅提供一些Web接口的扩展,也不是简单的基于系统默认的嵌入式应用接口,如Android WebView,而是使用新Blink和Chromium的能力,加强对HTML5能力的支持,同时加入了Web作为一个运行平台的各种能力,从功能上看,它对Web应用的支持和规范的支持更加完整,图15-5描述了Web应用在Crosswalk上的基本工作过程。当用户需要启动Web应用的时候,由Crosswalk加载Web应用的设置并使用运行环境来启动该Web应用。
2024-01-26 14:28:09
890
原创 《WebKit 技术内幕》学习之十五(4):Web前端的未来
但是,它也存在一些不足之处。图15-4描述了Cordova的主要工作思想,对于一个Web应用,结合Cordova提供的本地代码和框架,使用Cordova的打包工具将它们一起打包成一个个同系统相关的本地可执行文件,这里的打包工具不同于前面说的Web的清单文件,而是指将Web应用打包成操作系统支持的本地可执行文件。第二是提供了自动化的打包工具;Cordova的这一设计极大地方便了Web开发者,使得它在很短的时间内获得了巨大的成功,现在使用PhoneGap打包的Web应用成千上万,下面看一看它的优势和不足之处。
2024-01-26 14:22:20
598
原创 《WebKit技术内幕》学习之十五(3): Web前端之未来
之后是该应用需要使用的功能和权限,它们的区别在于权限是系统中的一些非常敏感的信息,如个人信息,包括但是不限于通讯录、位置、文件系统等。与普通网页不同的是,一个Web应用通常包含一个称为清单(Manifest)的文件,该文件的目的跟很多系统如Android上的应用程序的清单文件类似,就是为了定义该应用的一些信息。很多技术对于Web网页和Web应用是共享的,如基础渲染工作、Canvas2D、WebGL、CSS、音视频等,但是还有众多的技术是为Web应用设计的,如Web manifest规范、运行模型规范等。
2024-01-26 14:14:11
1019
原创 《WebKit技术内幕》学习之十五(2):Web前端的未来
目前,该项目已经启动并取得了良好进展,核心思想在于保持WebView的接口兼容性,同时将内部的实现从当前默认WebKit内核变成了Chromium的内核,但是原有的WebViewAPI保持不变,这样对于WebView的用户来说,调试代码时不需要做任何改变,便可以使用功能更多性能更好的渲染内核了。所谓的嵌入式模式是指,在渲染引擎之上提供一层本地(如C++或者Java)接口,这些接口提供了渲染网页的能力,渲染的结果被绘制到一个控件或者子窗口中,本地应用通过本地接口来获得渲染网页的能力。
2024-01-26 14:10:50
954
原创 《WebKit 技术内幕》学习之十五(1):Web前端的未来学习
以上这些技术和方向,每个都可以花费很多篇幅去介绍和描述它们,本章主要是想着重从Web应用和Web运行平台两个最重要的地方着手,着重介绍目前的一些进展,未来的发展路程将会很长,笔者希望和读者一起关注它们。当然,如果读者完全相信了笔者这些关于趋势的描述并且认为Web前端就是这些变化,那还是赶紧从其中摆脱出来吧,因为它们会阻碍读者的思维。就目前Web前端来说,各种类型的技术非常多,极容易引起大家的误解,有鉴于此,结合笔者自身的理解,总结出一些比较明显的趋势同大家分享,分别从技术上和方向上来解读。
2024-01-26 06:44:04
497
原创 《WebKit 技术内幕》学习之十四(2):调式机制
当然,为了查看网页的DOM结构和网页中的各种对象,开发者工具提供了命令行式的控制台,开发者可以以此查看任何DOM中的节点(这个在第5章中也使用过控制台来理解DOM树结构)和各种对象(包括对象值和它包括的函数,笔者经常使用它来查看Chromium支持的一些JavaScript接口是什么样的,因为不同浏览器对于接口的支持也是不一样的),甚至可以执行JavaScript语句。这一切对网页开发者来说是透明的。除此之外的JavaScript引擎内部的内存分析工具,也可以按照类似的情况来处理,这里不再做过多的介绍。
2024-01-25 22:30:41
1121
原创 《WebKit 技术内幕》学习之十四(1):调式机制
支持调试HTML、CSS和JavaScript代码是浏览器或者渲染引擎需要提供的一项非常重要的功能,这里包括两种调试类型:其一是功能,其二是性能。功能调试能够帮助HTML开发者使用单步调试等技术来查找代码中的问题,性能调试能够采集JavaScript代码、网络等性能瓶颈。当然,这只是对于HTML开发者来说的。因为对于性能而言,问题可能存在于HTML代码,也可能是浏览器本身的问题。
2024-01-25 22:09:25
1207
原创 《WebKit技术内幕》学习之十三(3):移动WebKit
但是在移动设备上,因为屏幕和触控的缘故,用户可能不知道需要滚动网页还是框,因此,iframe和frameset等多框结构很难在移动设备上使用,为此,WebKit使用了一种称为“Frameset Flatterning”的技术,该技术的含义是将框中的内容全部显示在网页中,通俗来讲就是将框中的内容平铺在网页中,而不用设置滚动条,这也就意味着,用户只是滚动网页,当然框中的内容也包含在网页中,也会随着网页的滚动而发生变化。同桌面系统不一样的是,网页的渲染结果需要对用户的响应度有很高的要求。
2024-01-25 21:42:52
1076
原创 《WebKit技术内幕》学习之十三(2):移动WebKit
上面这段代码相对比较容易理解,设置的名字是“viewport”,视窗的宽度就是设备的宽度,而初始缩放大小是0.9,最小的缩放比例是0.5,最大的缩放比例是1.0,而且不允许用户使用手势来缩放它们。为了让网页在移动设备中也能像其他应用(这个会在第15章详细介绍)一样,可以设置该网页的图标,使用的方法是使用“link”标签设置,在Android浏览器中的方式是使用如下属性,与Safari中的设置类似。不过目前仅有iOS系统上的Safari浏览器提供类似的支持,还有一种并不完美的方式,但可能较为通用,代码如下。
2024-01-25 20:39:20
548
原创 《WebKit 技术内幕》学习之十三(1):移动WebKit
这个事件同前面介绍的Safari提供的Gesture Events不是一回事,因为Safari只是提供了旋转和缩放的值给JavaScript,而这里的手势事件包括一个或者多个手指触发的动作,WebKit并不会将这里的手势事件传递给JavaScript代码,如“longPress”事件会触发浏览器弹出右键菜单的动作。下面分别来分析这两者。每个触控点都需要包含很多信息,也就是图13-2中的众多属性,主要是标记属性的唯一ID、触控的目标(也就是对于的DOM元素)、屏幕位置、视图中的位置等,看起来还是比较直观的。
2024-01-25 20:36:54
1210
原创 《WebKit 技术内幕》学习之十二(2):安全机制
但是,在Android上,系统支持的安全机制都已经在Chrome的Android版上得到了启用,主要体现在两个方面,第一是SUID,Android系统上稍微有些不同,它是UID isolation(UID隔离技术),Android可以为每一个进程设置一个新的UID,这样每个进程之间就不能随意修改和访问数据,这是有Linux内核机制来保证的,其实是上面讨论的沙箱机制的第一层。而沙箱模型工作的基本单位就是进程。对于网络上的网页,浏览器认为它们是不安全的,因为网页总是存在各种可能性,也许是无意的或有意的攻击。
2024-01-23 17:28:24
1104
原创 《WebKit 技术内幕》学习之十二(1):安全机制
安全机制对于浏览器和渲染引擎来说至关重要。一个不考虑安全机制的HTML5规范体系肯定不会受到广泛地使用,同时一个不安全的浏览器也不会得到广大用户的青睐。本章介绍的安全机制分成两个不同的部分,第一个部分是网页的安全,包括但是不限于网页数据安全传输、跨域访问、用户数据安全等。第二个部分是浏览器的安全,具体是指虽然网页或者JavaScript代码有一些安全问题或者存在安全漏洞,浏览器也能够在运行它们的时候保证自身的安全,不受到攻击从而泄露数据或者使系统遭受破坏。1 网页安全模型。
2024-01-23 17:23:42
1362
原创 《WebKit 技术内幕》学习之十一(4):多媒体
在WebKit的Chromium中同样定义了两个类WebRTCPeerConnectionHandler和WebRTCPeerConnectionHandlerClient,根据WebKit的类名定义方式,前者是需要Chromium来实现,而后者则是由Chromium调用,并由WebKit来实现的,这里主要是应用连接事件的监听函数,所以WebKit能够将它们传递给JavaScript引擎。这里,不再使用新元素,而是利用原有的“video”元素,实在是一个好的设计。之后是Chromium的实现类。
2024-01-23 14:31:01
1121
原创 《WebKit 技术内幕》学习之十一(3):多媒体
自然而然地,W3C定义了两个主要的接口,分别对应识别和合成技术,接口定义比较清晰简单,例如对于SpeechRecognition,当调用start()函数时就开始语音识别,而后面的事件句柄则是让开发者知道识别的状态,当识别完成之后,可以通过监听“onresult”来获取识别的结果。Web Audio的绝大多数处理都是在WebKit中完成的,而不需要Chromium过多地参与,除了输入源和输出结果到实际设备,其他同前面的多媒体数据源是一致的,不再赘述,下面描述图11-15中的结构是如何被WebKit支持的。
2024-01-23 12:47:48
1039
原创 《WebKit 技术内幕》学习之十一(2):多媒体
2 视频2.1 HTML5视频在HTML5规范定义中,Web开发者可以使用“video”元素来播放视频资源。视频中有个重要的问题就是视频编码格式,对此,目前标准中包含了三种编码格式,它们分别是Ogg、MPEG4和WebM。其中Ogg是由Xiph.org组织开发的一个开放标准,不需要任何授权费用,它使用Theora作为视频编码格式和Vorbis作为音频编码格式。MPEG4是MPEG工作组开发的需要授权费用的标准,它使用H.264作为视频编码格式和AAC作为音频编码格式。而WebM是由G
2024-01-23 11:09:18
1084
原创 《WebKit 技术内幕》学习之十一(1):多媒体
说到浏览器对多媒体的支持,不得不提的就是Flash插件和HTML5之争。Flash对Web的发展起了非常重要的作用,它能够支持视频、音频、动画等多媒体功能,虽然现在大家都在讨论Web前端领域是否应该丢弃Flash插件转而支持HTML5。在本章中,笔者将回顾Web前端中的多媒体发展历程,然后详解现在HTML5中引入的多媒体技术。
2024-01-23 10:46:55
512
原创 《WebKit 技术内幕》学习之十(4): 插件与JavaScript扩展
首先当然是网页的解释工作,在创建Document对象的时候,WebKit使用ScriptController类来注入Chromium的Extension机制所需要的代码,这里会调用类Dispatcher,该类此时创建一个ModuleSystem对象,并将各种各样的NativeHandler对象注册,这里的NativeHandler就是各种各样的“chrome.*”的接口。本质上,它其实就是浏览器能力的简单扩展,而对于一些本地的功能,如书签、USB、蓝牙、电源管理等,该机制并没有这方面的能力。
2024-01-23 10:03:19
1312
原创 《WebKit 技术内幕》学习之十(3): 插件与JavaScript扩展
当开发者完成接口的定义之后,需要生成JavaScript引擎所需的绑定文件,该文件其实是按照引擎定义的标准接口为基础,来实现具体的接口类,WebKit提供了工具能够帮助开发者自动生成所需要的绑定类,根据引擎的不同和引擎开发语言的不同,可能有不同的结果,主要包括为JavaScriptCore和V8生成的绑定文件,以V8引擎为例,使用下面的命令就能够为该IDL文件生成结果。除了JavaScript绑定机制之外,V8引擎另外又提供一种能够动态扩展的机制,它无须跟V8引擎一起编译,因而有很大的灵活性。
2024-01-22 22:47:12
940
豆瓣视频top250页面采集源码
2024-06-03
Python网络爬虫实际例子代码
2024-06-03
TestLibzmqReqRepBroker.rar
2020-05-11
TestZeroMQPublisherSubscribe.rar
2020-05-10
vc6使用开发miniblink控件简单实例
2018-12-26
websphere V6调优概要(红皮书)
2010-05-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人