1.Qt编写的源码知名的开源软件列表
2.qt5.7使用qwebengine加载html做ui,但运行库却近70m,如何
3.windows下用QTwebkit解析html实现过程
4.为什么qtcreator的编译如此之慢?
5.Qt中嵌入web网页的几种实现方式
6.Linux上静态编译Qt应用实现方案linux静态编译qt
Qt编写的知名的开源软件列表
Qt是一个开发的跨平台C++图形用户界面应用程序开发框架,它既适用于创建GUI程序,编译也能用于非GUI程序的源码开发。最新版本是编译6.0。以下是源码一些由Qt编写的知名开源软件列表:
3DSlicer是一个用于可视化和医学图像计算的免费开源软件。
AcetoneISO是编译疫情监控网站源码一款镜像文件挂载软件。
Adobe Photoshop Album是源码一款图像组织应用程序。
Arora是编译一款跨平台的开源网页浏览器。
Autodesk MotionBuilder是源码一款专业3D角色动画软件。
Autodesk Maya是编译一款用于3D建模和动画的软件。
Avidemux是源码一款多用途视频编辑和处理的免费软件程序。
Avogadro是编译一款高级分子编辑器。
BOUML是源码一款免费的UML工具箱。
chmcreator是编译一款开源的CHM开发工具。
CineFX是源码一款跨平台、开源、免费、视频剪辑软件。
CoCoA是一款交换代数计算软件。
Dash Express是一款支持互联网的个人导航设备。
DAZ Studio是一款三维图形演示/动画应用程序。
Doxygen是一款API文件产生器。
EAGLE是一款用于印刷电路板(PCB)设计的工具。
EiskaltDC++是一款使用直接连接协议的程序。
Emergent是一款神经网络模拟器。
FEKO是一款电磁场模拟软件产品。
eva是Linux版QQ聊天软件。
FreeCAD是一款自由开源的三维实体和通用设计CAD/CAE。
FreeMat是一款自由开源的数值计算环境和编程语言。
Full Tilt Poker是桶装水溯源码优势在哪一款在线扑克程序。
Gadu-Gadu是一款实时通信软件。
Gambas是一款基于基本解释器的自由开发环境。
GoldenDict是一款开源的字典软件。
Google地球是一款三维虚拟地图软件。
GNS是一款Cisco网络模拟器。
Guitar Pro 6是一款a tablature editor。
刺猬大作战是一款基于百战天虫的开源游戏。
Hydrogen是一款高级鼓机。
ImageVis3D是一款体积射线投射应用。
Ipe是一款自由的矢量图形编辑器。
ISE Webpack是一款为Windows和Linux开发的免费EDA工具。
Kadu是一款使用Gadu-Gadu协议的波兰即时通信工具。
KDELibs是许多KDE程序都使用的共享库。
KeePassX是KeePass的多平台移植版本。
Last.fm播放器是著名互联网音乐社交网站的桌面客户端。
Launchy是一款开放源代码的快捷启动器。
LMMS是一款开放源代码的音乐编辑软件。
LyX是一款使用Qt作为界面的LaTeX软件。
Mathematica在Linux和Windows版本中使用Qt作为GUI。
Maxwell Render是一款帮助从计算机三维模型数据生成照片级真实感图像的软件包。
Mixxx是一款跨平台的开放源代码DJ混音软件。
MuseScore是一款WYSIWYG的乐谱编辑器。
MythTV是一款开源的数字视频录制软件。
Nuke是一款基于节点的合成器。
PDFedit是一款自由的PDF编辑器。
PokerTH是一款开放源代码的德州扑克模拟器。
Psi是一款基于XMPP网络协议的实时通信软件。
qBittorrent是一款自由的BitTorrent P2P客户端。
QCad是电脑播放器输出源码设置一款用于二维设计及绘图的CAD软件。
Qjackctl是一款用于控制插孔音频连接套件的工具。
QSvn是一款Linux、UNIX、Mac OS X和Windows的GUI Subversion客户端。
Opera是一款著名的网页浏览器。
Qt Creator是Nokia的免费软件、跨平台、集成开发环境。
Qterm是一款跨平台的BBS软件。
Quantum GIS是一款自由的桌面GIS。
Quassel IRC是一款跨平台的IRC客户端。
QupZilla是一款跨平台的开放源代码Webkit网页浏览器。
RealFlow是一款三维工业流体和动力学模拟器。
Recoll是一款桌面搜索工具。
Rosegarden是一款免费软件数字音频工作站程序。
SciDAVis是一款跨平台绘图与数据分析程序。
Scribus是一款桌面排版软件。
Skype是一款使用人数众多的基于P2P的VOIP聊天软件。
SMPlayer是一款跨平台多媒体播放器。
Spotify是一款音乐流媒体服务。
Stellarium是一款天文学的自由软件。
TeamSpeak是一款跨平台的音效通信软件。
Texmaker是一款跨平台的开放源代码LaTeX编辑器。
TeXworks是排版系统TeX的图形用户界面。
Tlen.pl是一款波兰人发明的实时通信客户端。
TOra是一款数据库管理工具。
UMPlayer是一款基于Mplayer的美观多媒体播放器。
UniversalIndentGUI是一款帮助用户美化代码的应用程序。
Valknut是微信群控系统ios源码一款使用直接连接协议的程序。
VirtualBox是一款虚拟机软件。
VisIt是一款开源型交互式并行可视化与图形分析工具。
VisTrails是一款科学的工作流管理与可视化系统。
VLC多媒体播放器是一款体积小巧、功能强大的开源媒体播放器。
VoxOx是一款统一通信软件。
WordPress基于Qt,适用于Maemo和Symbian。
wpa supplicant是一款IEEE.i的自由软件实现。
Xconfig是Linux的Kernel配置工具。
YY语音又名“歪歪语音”,是一个在中国大陆拥有庞大用户群的在线多人语音聊天和语音会议的免费软件。
咪咕音乐是中国移动倾力打造的正版音乐播放器。
WPS Office是金山公司(Kingsoft)出品的办公软件,与微软Office兼容性良好,个人版免费。
qt5.7使用qwebengine加载html做ui,但运行库却近m,如何
解决Qt发布程序体积过大的问题,关键是理解Qt5官方运行库的特性。它们是完整编译和优化的,因此体积较大。若自行编译,可以通过剪裁不必要的模块选项,优化编译选项至最小,以减少程序体积。
注意查看运行库大小时,应关注7z极限压缩后的大小,而非原始大小。使用WebKit项目的WebEngine,由于大量使用C++ template,广西源码太阳能灯智慧可能导致代码膨胀,但通过压缩,可以显著减小实际发布时的体积。例如,Qt5WebEngineCore压缩后仅需约MB。
对于纯WebUI需求,Electron可能更合适。尽管Electron发行包也较大(约MB以上),但由于它提供了完整强大的框架支持,较大的体积在某种程度上是合理的。
现代互联网环境下的用户网速普遍较快,几十MB的下载量通常不成问题。若追求更极端的体积优化,可以考虑使用CEF(代码谷歌档案...),这是一个剪裁过的Chrome浏览器内核。虽然体积更小,但使用时需要自行解决其他相关功能的集成问题。
windows下用QTwebkit解析html实现过程
环境
windows7 + VS + QT5.2_opengl
配置开发环境
1、安装VS
2、安装QT 5.2
QT网站:blogs.com/mikezhang"));
3.2、解析本地文件
使用QWebView的setUrl方法,示例如下:
QWebView view; view.show(); view.setUrl(QUrl("file:///E:/tmp/1.html"));
3.3、解析html字符串
使用QWebView的setHtml方法,示例如下:
QApplication app(argc, argv); QWebView view; view.show(); std::ifstream fin("E:/tmp/1.html"); std::stringstream buffer; buffer fin.rdbuf(); fin.close(); view.setHtml(buffer.str().c_str());
完整代码如下:
复制代码
代码如下:
#include QtGui#include QtWebKit#include QWebView#include fstream#include string#include sstream int main(int argc, char *argv[]) { QApplication app(argc, argv); QWebView view; view.show(); // Method 1 : a remote url //view.setUrl(QUrl("blogs.com/mikezhang")); // Method 2 : a local url //view.setUrl(QUrl("file:///E:/tmp/1.html")); // Method 3 : set html content std::ifstream fin("E:/tmp/1.html"); std::stringstream buffer; buffer fin.rdbuf(); fin.close(); view.setHtml(buffer.str().c_str()); return app.exec(); }
为什么qtcreator的编译如此之慢?
对于QtCreator编译速度慢的问题,有多种误解需要澄清。
首先,将Qt编译速度与MFC进行比较,这种观点是不正确的。实际情况下,由于Qt库的头文件设计合理,采用前置声明和公有类、私有类的模式,编译效率远高于MFC。MFC的编译速度较快主要归功于其默认启用的预处理头文件功能(PCH),这是所有C++项目都能利用的特性,并非MFC独有。通过在.pro文件中添加`PRECOMPILED_HEADER = stable.h`,指定一个头文件作为预处理文件,可以实现与MFC类似的效果。在`stable.h`文件中包含所有需要的Qt头文件,可以有效避免编译时引入过多代码。
为了进一步提高编译速度,可以使用`QMAKE_CXXFLAGS += /MP`指令来启用并行编译,利用多个编译进程同时处理不同cpp文件。这种方法比MFC的PCH更优,因为MFC的PCH配置容易出错,而Qt的配置则写在.pro文件中,一旦配置正确,稳定性较高。
对于大项目而言,硬盘性能是影响编译速度的主要瓶颈。使用SSD硬盘时,编译速度大约为分钟左右;若使用机械硬盘,速度会降低约%;使用内存盘编译则可提高%的速度。如果编译速度仍然慢于预期,应检查代码中是否存在冗余或不必要的头文件包含。
关于Qt本身的编译速度,通常情况下并不慢,慢点主要体现在WebKit库和示例程序的编译上。默认情况下,Qt会编译所有的库和示例,而WebKit项目因其泛型技术使用广泛,编译时间较长。对于仅需要核心库的项目,编译速度会大幅提高,例如,仅编译QtCore可能只需1分钟,QtGui则大约5分钟。
对于Windows平台,建议使用Visual C++ 作为编译器。Qt与Visual C++的集成度较高,使用Visual C++ +Qt进行项目开发效率会更高。此外,安装Visual Assist可以进一步提升开发效率。
总结而言,QtCreator编译速度慢的问题通常与项目规模、编译器选择和配置有关。通过优化配置和使用适当的编译工具,可以显著提高编译效率。
Qt中嵌入web网页的几种实现方式
Web网页的界面交互相较于Qt客户端拥有较大优势,能提供丰富且便捷的用户体验,使得在客户端中嵌入web网页成为可能。这能结合web的优势与客户端特性,丰富界面功能。本文将介绍几种Qt客户端中嵌入web网页的实现方式及步骤。基于Qt自带控件实现
Qt内置的控件用于访问网页,集成webkit内核与google引擎,类似简易版浏览器。此方案在Qt5.9.6中采用QWebEngineView。环境配置:Qt5.9.6 + VS
检查webenginewidgets模块是否配置成功。
开发流程:通过拖拽控件或直接new使用,代码示例与效果展示。
总结:实现简单,但浏览器内核不支持视频解码,需编译源码解决,成本较高。
嵌入Chrome.exe进程实现
此方法启动本地Chrome浏览器,实现与本地浏览器功能等同。通过启动浏览器进程并传入参数,再获取窗口句柄,实现嵌入。环境配置:Qt5.9.6 + VS
检测Chrome安装情况,获取Chrome.exe路径。
开发流程:启动Chrome.exe,获取窗口句柄,转化为QWindow,嵌入界面。
总结:功能完整,但浏览器状态与客户端状态耦合,用户行为影响嵌入界面显示。
基于Chrome的CEF3实现
Chromium Embedded Framework(CEF)提供嵌入式浏览器支持。此方案需下载编译包,参照官方文档,实现嵌入网页界面。环境配置:Qt5.9.6 + VS
下载并配置CEF与chromium源码。
开发流程:参考示例文档,配置工程,实现嵌入。
总结:功能完整,但受限于源码编译环境,实际使用效果受限。
基于微软的WebView2实现
Microsoft Edge WebView2 控件允许嵌入Web技术(HTML、CSS、JavaScript)到本机应用程序。此方案通过读取进程窗口句柄实现嵌入。环境配置:Qt5.9.6 + VS,安装WebView2运行包。
开发流程:下载示例文档,配置NuGet包,启动WebView2进程,读取窗口句柄,嵌入界面。
总结:实现简单,功能与用户体验较好,但无法国产化。
总结
根据需求选择不同方案:仅显示网页时,推荐基于Qt自带控件;需视频播放时,考虑基于CEF的实现;受限环境,可选用WebView2。嵌入Chrome.exe方案存在不可控因素,不适合作为常规方案。通过比较不同方法的优缺点,可选最优方案满足需求。Linux上静态编译Qt应用实现方案linux静态编译qt
随着越来越新兴Qt建站应用软件的出现,用户可以更加方便地搭建跨平台和可移植性更高的程序。由于Linux操作系统大量使用静态编译,许多用户在使用Qt建站时希望将其应用进行静态编译,以节省后续的移植成本。
静态编译Qt应用需要满足以下条件:
(1)必须安装Qt源码。可以从官网下载Qt安装包,也可以从git仓库更新,一般来说需要安装qt-every-where-src-VERSION.tar.gz这类的源码包。
(2)使用QT_STATIC_BUILD编译参数,可以指定安装路径以部署编译好的二进制文件。
(3)使用Linux平台特定的软件包管理器,比如Debian和Ubuntu,下载并安装相关的编译库:
-debreate Build-Deps,用以加载基本的编译包
-qtwebkit-src,编译应用程序所需要的前端引擎组件
-qtbase-src,编译应用程序所需要的包含Qt library、GUI等组件
根据以上步骤,可以利用Linux命令行工具编译Qt应用,例如:
$ ./configure –prefix=/path/Qt,如果使用Qt5,可以使用-static-developer参数
$ make,如果需要加速编译,可以加上-j参数
$ make install
最后,可以对构建的二进制文件运行ldd命令、ldconfig命令以及QMAKE等捆绑工具,以构建具有完整功能的应用程序二进制包。
以上就是Linux上静态编译Qt应用实现方案。Qt模块可以快速安全地完成构建,使用是静态编译可以实现应用跨平台和可移植性更高,给用户带来更优的体验。