QT实现打印预览及生成Pdf功能_小MarkK的博客-CSDN博客_qt打印pdf
用qt开发商业程序已经十年了,陆陆续续开发过至少几十个程序,除了一些算不算项目的小工具外,大部分的程序都需要有个日志的输出功能,希望可以将程序的运行状态存储到文本文件或者数据库或者做其他处理等,qt对这个日志输出也做了很好的封装,在Qt4是qInstallMsgHandler,Qt5里边是qInstallMessageHandler,有了这个神器,只要在你的项目中所有qdebug qinfo等输出的日志信息,都会重定向接收到,网上大部分人写的demo都是接收到输出打印日志存储到文本文件,其实这就带给很多人误解,容易产生以为日志只能输出到文本文件,其实安装了日志钩子以后,拿到了所有调试打印信息,你完全可以用来存储到数据库+html有颜色区分格式的文件+网络转发输出(尤其适用于嵌入式linux无界面程序,现场不方便外接调试打印的设备)。
将 HTML 网页转换为 PDF 是很多人常见的一个需求,在浏览器上,我们可以通过浏览器的“打印”功能直接将网页打印输出为 PDF。
该Qt4项目以前是使用Qt4.7.4 MSVC2008开发的,因为使用到了OWC10(Office Web Components),使用MSVC编译器的话无法正常升级到Qt4.8.x和Qt5,于是将编译器转成了MinGW4.7,Qt升级到了4.8.4。今天Qt 5.0.1-MinGW预编译版本发布了,于是就拿它练手,将它升级到Qt5,以减少系统中存在的多个Qt版本 。遇到的问题如下: 1. 由于Qt5将大部分桌面部件移到了Qt Widgets模块中,所以在.pro中要增加下面一行 QT += widget
这里的调试信息为qDebug(), qWarning(), qCritical(), qFatal()的输出.通过注册回调函数:
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说Qt: 中文-常量中有换行符[通俗易懂],希望能够帮助大家进步!!!
<<C++ GUI Programming with Qt4>>、<<Qt及Qt Quick开发实战精解>>、<<精通Qt4编程>>、<<Qt Creator快速入门>>、《零基础学Qt4编程》。个人比较喜欢老外写的这本书<<C++ GUI Programming with Qt4>>,不仅系统讲解了QT的绝大部分主题,同时还讲解了QT的一些思想和原理。不过最好的参考还是Qt的Demos和帮助文档。
本文转载自豆子的Qt 学习之路2的博客Qt 学习之路 2(64):使用 QJsonDocument 处理 JSON
注意:当有QT += webkitwidgets的时候,就不再需要QT += widgets
Qt 5 已经临近发布,其最大的特点就是模块化。将原来庞大的模块更细分为不同的部分,同时,一个大版本的升级,当然少不了添加、删除各个功能类。文本简单介绍 Qt5 的特性,其具体内容来自 Qt5 官方 Wiki 的介绍 。 前面说过,Qt5 最大的特性在于模块化。这么多的模块,Qt5 统称为 Qt Essentials。下面就来看看这些模块究竟是什么吧!注意,有些模块没有在这里列出,例如 SQL 等。请在 这里 查看完整的 Qt5 模块列表。 Qt Core Qt Core 类似于 Qt4 中的 QtCore
截止至2020年8月,Qt的最新版本是5.15.0,但仍有很多资料是基于Qt4,为了避免大家误入歧途,所以写了这篇文章。
官方的Qt 只有vc10以上的版本 若是想vc9 只能自己编译 so 开始干 搜索资料 1)vc9不能支持webkit的编译 直接删除掉 2)有部分地方 vc9默认支持LONG转ULONG 需要自己改代码 3)需要OPENSSL 4)需要python3.4.3 5)需要activePerl开工 1。下载安装activeperl 2。下载安装python3.4.3 3。编译openssl 0.9.8k perl Configure VC-WIN32 –prefix=C:\Build-OpenSSL-VC9-32 ms\do_ms nmake -f ms\nt.mak nmake -f ms\nt.mak install 4。开始config Qt5 一个bat搞定
安装过程:http://www.cnblogs.com/dotnetcrazy/p/6725945.html 用了QT发现,中文输入法不能输入。。。一开始以为是输入法问题,后来发现,其他地方都可以中文输入,就是QT不能 上网搜了下,不是QT不给力,而是Linux太错综复杂,中文输入啥的软件本身就不去实现了,就交给了输入法们了,所以就有了QT的扩展之说(VSCode为啥没事?每次用完微软的东西用别人产品就感觉各种不爽,是封装太好了吗?╮(╯▽╰)╭) 进入正文吧 装搜狗拼音的时候其实已经把这些扩展装好了(参考
使用Visual Studio是为了它的编译工具和相关库。安装时选上Windows SDK。
QT5,VS2012静态编译,所有的库准备充分的话qwebkit也可以静态编译通过,但是我编译的版本使用中如果用了QWEBVIEW控件在连接时会出错。 注:我自己编译的环境是:win server 2012 dc版 , vs2012 with update1,qt-everywhere-opensource-src-5.0.2,perl和rupy都是在qt官方给的地址下的最新的X64的,python是2.7 X64的、、、 本文主要针对qt 5.X版本,qt4.X的依赖没那么多,可以酌情参考下,但是好像用途不大、、 编译器主要针对VS2012,vs2010和mingw的就编译时参数换一个就行了,文中会有简单提起、、、 编译主要是静态编译,但是静态编译的话问题很多,我虽然不报错编译完成,但是使用没测试,已知的是我编译的版本qtwebkit使用时 QWEBVIEW控件在连接时会出错。如果您要是动态编译的话在编译依赖库(icu,openssl)时动态编译就行了,在configure时不要-static选项即可。 虽然我编译通过了,但是还是借鉴了网上很多教程,先发借鉴的链接,尊重版权: http://www.ktao.net/archives/125 //这个编译好像只编译了qtbase,qtwebkit那块原来我准备的连接库不足,没成功,就没再测试。 http://www.cnblogs.com/wader/archive/2013/01/19/qt5_vc2012.html //这个是说动态连接的,但是很对。 http://qt-project.org/wiki/Building_Qt_5_from_Git //官方的编译方法 1、准备编译需要的环境 1.1准备编译器 这个不需要多说了吧?就是安装vs或者mingw、、、 vs系列可以去:http://msdn.itellyou.cn/ 下载,vs2012或者2010别用太低的版本,qt5要用c++11,只有这俩部分支持、、、 mingw您可以用qt官方mingw版的,自带的版本,您也可以自己去下,用tdm-gcc安装方便点:http://tdm-gcc.tdragon.net/download,您也可以自己搜、、 1.2准备其他需要的工具 qt5还需要perl,pyhon,rupy、、 Get Perl from: http://www.activestate.com/activeperl/downloads [activestate.com] Get Python from: http://www.python.org/download/releases/ [python.org] //有说需要用2.7版版本的。3.3的不行,我是用的2.7,没试试3.3的 Get Ruby from: http://www.rubyinstaller.org/ [rubyinstaller.org] 2.准备源码 这个我啥也不用说了吧、、、去官网下载,http://releases.qt-project.org/digia/ 这儿可以下载最新的、、、或者用git下载(这个我也不会用)、、、 2.x配置源码:如果需要静态编译就需要了,动态编译请跳过: 先说vs的:修改 源码目录\qtbase\mkspecs\win32-msvc*\qmake.conf //win32-msvc*,*是您用的vs版本、、、 找到这几句; QMAKE_CFLAGS_WARN_OFF = -W0 QMAKE_CFLAGS_RELEASE = -O2 -MD QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi QMAKE_CFLAGS_DEBUG = -Zi -MDd 把MD和MDT改成MT和MTD,如下: //因为md是动态连接运行时库,MT是把运行时库包含到程序里 QMAKE_CFLAGS_WARN_OFF = -W0 QMAKE_CFLAGS_RELEASE = -O2 -MT QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi QMAKE_CFLAG
解决Qml程序中一个非常常见的警告 QML debuggingisenabled.Onlyusethisina safe environment. 为什么会有这个警告? 由于在Qt5以上版本默认开启QML调试器造成的。用于告知用户,这将打开一个到运行QML的Javascript解释器的端口,以便从中获得调试输出。显然,这会造成一个安全漏洞,所以在不安全的地方使用时应该关闭它(在释放运行时自动关闭)。这个警告是为了提醒你这一点。 注意 Qt4默认不开启QML调试器,而Qt5版本以上默认开启。 如果您不使用QM
Qt5.12下载网址: http://download.qt.io/archive/qt/5.12/5.12.2/
Qt API是基于C++实现的,并且提供了额外的特性来简化跨平台开发。整理了一些第三方语言绑定库有Python, Go, Node.js等语言。但是只有Python语言绑定库是由Qt官方维护。快来看看有没有你熟悉的语言吧。 1.Qt官方语言绑定库 序号 语言绑定库 1 PySide2(官方维护) 介绍:使用Qt为Python创建用户界面。Qt for Python是一个项目,它提供了一组官方的Python绑定(PySide2),这些绑定将增强您的Python应用程序。PySide2模块的第一个官方版本现在
Ubuntu 18.04 + Geant4.10.05.p01,2019年10月21日于北师大。
在我的Qt开发者日2012演示文稿(深入探讨QtCore)时,我做了一个比较QMap和QHash的基准。我认为在这篇简短的博客文章中分享结果会很不错。
由于qt4.8支持的环境比较老,所以ubuntu18 20这些高版本安装时会出现各种问题,最好在14和16下安装,本文的版本是ubuntu16.04。
之前安装过anaconda,里面是含有pyqt的,在环境里搜索可以看到,但是针对实际开发,并没有全部的qt5工具,所以需要再次安装。
1、开源功率计,带电源功能,专用于物联网功耗测量 https://github.com/zscircuits/zs1100a https://www.crowdsupply.com/zscircuits/zs1100a-power-meter https://www.zscircuits.in/
首先声明,本文并非原创,纯属搬运,内容来自一位叫做飞扬青春的大神的Gitee主页,主要是为了收藏下面介绍的100多个Qt开发经验。比如qss的ANSI编码、嵌套窗口中主窗口无法接收鼠标移动事件等,又比如我用qss设置窗口样式,但是项目每次重新构建以后,样式表就会不生效等问题,也花了自己不少时间去解决,所以在这里转发大神的经验,留作以后参考和逐条的研究,也分享给更多正在学习Qt或者正在使用Qt进行程序开发的朋友们。
本文档将介绍 Allwinner Tina Linux 中已经移植好的窗口系统,以及怎么使用,包括 MiniGUI、QT5、EFL、GTK+(WebkitGtk、Midori)、DirectFB、Wayland,整体结构 如下:
程序:G:\AAA_software\Anaconda3\Library\bin\designer.exe,找到路径对应软件即可 工作目录:ProjectFileDir
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
cJSON是一个超轻巧,携带方便,单文件,简单的可以作为ANSI-C标准的JSON解析器。
pip install PyQt5 -i https://pypi.douban.com/simple
在不改变和影响原有语法的前提下提高qml开发效率。有一些qml项目兼顾与Qt4与Qt5版本,由于QML不用编译,但解释在运行时,使预处理指令不能用于直接通过QML。一般采用的方法是直接改文件内容,也就仅限于部分的修改。如: Qt4版本下:
主要是设置按钮的具体功能,比如单击、按下,释放等等,当发现这些动作的时候就会触发对应的槽函数。
D:\python3.6\Lib\site-packages\pyqt5_tools
MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能
我们使用QUrl装载url请求的时候,往往需要写参数,但是由于Qt4与Qt5的改动导致QUrl接口也会不一样。 http://www.example.com?key1=value1&key2=valu
其中 Qt5 是 RenderDoc 的界面库,autoconf 和 automake 在构建 c 胶水层生成工具 swig 会使用到。
TS的全称则是Transport Stream,即传输流,DVD节目中的MPEG2格式,是MPEG2-PS,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。现主流视频网站都采用这种模式。
Python Qt5是一个强大的GUI工具包,可以用来设计各种桌面应用程序,包括图形用户界面、数据库应用程序等。本教程将带你入门Python Qt5,从安装开始到图形界面的设计以及常见的控件和事件。
在obs工程中使用 如下头文件和函数之后,会提示link2019错误,是因为没有网络库。
说明:ruby安装时要把三个都选择上,QT5addin插件安装要特有耐心,不然总会觉得,程序假死了。(后来发现是装集成help文档时占时间,可以不装它的)
下载qt5.5源代码 [http://download.qt.io/archive/qt/5.5/5.5.0/single/]
中秋假期除了第二天去了海边,剩下的两天基本上没什么事情做,那么依然还是选择肝起来,躺平是不可能躺平的!此次给大家带来的一个开源项目:小熊派红外热成像仪,它是基于小熊派开发板以及AMG8833热成像模块(不错,为了节省打板时间,我亲手做了一块E53接口的热成像模块小板)来完成的:
获取野牛开发板的软件开发包,提供了百度云和腾讯工蜂两个下载源,可以根据网速自行选择,这里放上下载跳转地址http://www.whtiaotu.com/download.html。
Qt是一个跨平台的C++应用程序开发框架,用它可以轻易做出艺术级的图形界面;Qt 支持跨平台体现在它可以支持各大主流操作系统(Windows、Linux、Unix、嵌入式系统等)
1. Qt4/5判断版本操作(测试版本为Qt5.6.0): contains( QT_MAJOR_VERSION, 4 ): message("This is the Qt4 version.") contains( QT_MAJOR_VERSION, 4 ): contains( QT_MINOR_VERSION, 8 ): contains( QT_PATCH_VERSION, 7 ): message("This is the Qt4.8.7 version.") contains( QT_MAJO
说明: 1、这个软件超级棒,是实时更新的,自己在用那种编程语言,就下载那种即可,下载后就可以离线查看。 2、此软件是基于Qt5设计的,全开源,可以在Linux,MacOS和Windows上使用。 3、官网下载地址:https://zealdocs.org/ 4、使用方法和各种编辑器插件:https://zealdocs.org/usage.html
工作中有幸做过关于 Qt5 Json 模块向 Qt4 的移植。做过有关 Qt Json 与 JsonCpp 的对比,并做过相关的兼容工作。所以着重研究了一下有关 Json 解析器的相关内容。注:大家常说的 QJson 其实并不是 Qt 中的模块,而是在 Qt4 没有 Json 模块的年代,一个非官方的第三方模块。对于现在 Qt 中的 Json 模块,官方称之为 Qt Json。
自从Qt5发布以来,我一直在推迟对我一直在做的一个项目升级到Qt5。即使是像这样的版本,从Qt 4.7到Qt 5(没错,跳过了4.8),出于某种原因也不像暗示的那么简单。他们说: “只需改变包含和链接路径, 就会自行编译。” Psht,是正确的。别再上当了。
pip install PyQt5 -i https://pypi.douban.com/simple #在后面加上“-i https://pypi.douban.com/simple”表示使用豆瓣所提供的镜像:
以下的操作都要管理员的权限,我可以提前剧透,我应该应该是没有安装上DDS,应该是算安装好了80%的样子。
领取专属 10元无门槛券
手把手带您无忧上云