原文链接:https://winter.blog.csdn.net/article/details/129527522
Qt 是一个跨平台的C++图形用户界面应用程序框架。它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。
进行整体编译时遇到相应的错误,这个是为了跟RK原厂SDK同步的代码,由于我这个是从第三方买来的,故下面这个功能需要屏蔽掉。
在使用 Qt Creator 工具开发时经常需要对代码进行代码格式化。其中,最简单地方法是,先全选所有代码(Ctrl + A),然后格式化所选代码(Ctrl + I)——注意字母“I”,是“i”的大写,不是“L”。开发过程中,不仅需要频繁的手动操作,而且只能进行一些简单的缩进类型格式化,配置可以在Qt Creator的“工具-选项-C+±代码风格”面板进行编辑。
Qt 是一个跨平台的应用程序开发框架。使用Qt开发的应用程序,只需要编写一套代码,然后把这套代码放在不同平台的Qt环境去编译,就会生成可以运行在对应平台的应用程序。例如,我在Windows写了一个串口助手,这套代码不用修改,放在Linux环境下的Qt开发环境,重新编译,就可以生成可以在Linux环境下运行的串口助手,当然,Qt支持的环境有很多。不同平台下的移植,只需要修改很小一部分或者不用修改就可以直接运行。
记录一下自己交叉编译QT的过程,目前来说再体验了初次编译镜像之后,编译这个QT还是算比较快捷的,因为该有的库都安装完成了。
最近想装个双系统,看了一下linux发行版的排名,manjaro吸引了我的注意,准备装来试试看。装好系统起来后发现没有支持中文输入,用了这么多输入法还是搜狗的最好用,决定装sogou输入法了。
最近在探索 m1 MacBook 下运行 linux 虚拟机的可能性,计划未来在 linux 虚拟机下完成所有开发工作,parallels desktop 天然提供了 debian/ubuntu/fedora 等 linux 发行版支持,但是在我个人使用场景中还是多少有些问题。
多年来一直使用xpad作为桌面记事贴,记记待办事项,常用命令什么的。随着记录的东西增多,xpad的一个缺点就显示出来:不能为单张贴纸改变背景色和设置名称,看着满屏幕的黄色贴纸,还得一个个去找自己要的那张。而且系统升级到debian 11后xpad只能停留在屏幕中央了,网上找了一遍,发现很多所谓某年度几个最好几个stick都是基于ubuntu PPA发行的(随便说下,xpad通常还是排在第一位)。有一阵子我都打算自己学习开发写一个记事贴纸了,所以有意无意的看了点Linux桌面程序开发,但也只是知道了tk,qt这些框架。
Manjaro 是一款基于 Arch LInux 的自由开源发行版,它吸收了 Arch Linux 优秀丰富的软件管理,同时提供了稳定流畅的操作体验。优雅简单是它的追求,稳定实用是它的优势。
本文旨在收集Manjaro KDE 系统在日常使用中的BUG解决办法.与君共享.
注:本章中使用的一些方法方法是为了简单的了解一下概念性质,例如在多个槽函数时使用的方法并不是简便的,简便的方法在之后的学习中将会进行讲解。
Calibre是基于python的电子书制作软件,可导出PDF、EPUB、MOBI、Word格式电子书。
在这里推荐一款比较好用的 HTML 转换为 PDF 的工具 Wkhtmltopdf,安装使用介绍如下。
Arch Linux是一个简洁优美的Linux发行版,但是相对应的配置起来就略显麻烦了,所有的配置都需要自己管理。 这里是一些安装之后的配置,大家可以根据需求进行配置。另外,这里是按照分类写的,实际配置的时候不一定非要按顺序配置。比如可以先配置桌面,然后在浏览器中直接复制粘贴命令,就会方便的多。
引用:http://blog.sina.com.cn/s/blog_54220589010008vi.html
源码下载地址: https://download.csdn.net/download/qq_37997682/10453294
1.解决Win平台中文显示 1.1首先解决win平台上中文显示乱码问题 1)首先查看qt creator的编码格式 通过->编辑->选择编码 查看. 2)如果qt creator的编码格式是utf8,并且项目里的汉字是utf8类型时 需要添加头文件: #include <QTextCodec> 在main()函数加入: QTextCodec *codec = QTextCodec::codecForName("utf8"); QTextCodec::setCodecForTr(codec);
或者google拼音:第一行改成sudo pacman -S fcitx-googlepinyin,谷歌拼音的话,如果全部安装了依赖,可以在包管理卸载qt5那几个无用的软件。
记录自己Manjaro18安装的一些坑,避免下次满互联网找解决方法。在此之前试过Manjaro、Ubuntu、Fedora、linux Mint系统的pac、yum、apt都用过了,所以果断选择Manjaro的包管理方式。Xfce4、Gnome、Cinnamon 和Mate桌面环境都试过了,KDE没试过,因为KDE 被抛弃了。其中呢我觉得xfce4最好,比较轻,资源占用低,但是我还是选择了Gnome,因为这个比较符合我的审美,而且现在(2019.3.31)gnome3.32已经没那么多问题了,资源占用也没那么夸张,cpu一般不会超过5%,还是在用了很多插件情况下,有两个插件一用就会超过7%: 如果是新手,安装完之后建议不要急着还原u 盘,因为后面重装的路还长,不知道一个不注意就卸载了不该卸的,然后…..
前段时间我又把Gnome桌面版的manjaro更新崩溃了,自己修复完了以后发现还是有不少小问题。鉴于博主强迫症比较严重无法忍受,于是换了各种桌面版的manjaro最终决定用回第一次用过的kde桌面版本。由于每一次更新都要配置一堆东西,比较麻烦,记录一下初始使用的过程,以便于后续自己重装系统不用再继续百度了emmmm。更新时间2019-11-24
为了帮助准备过渡到Qt 6,在Qt 5.15版本中已将许多将从Qt 6.0中删除的类和成员函数标记为已弃用。除非您在项目中定义QT_NO_DEPRECATED_WARNINGS,否则对于使用任何不推荐使用的API的代码,您都会收到编译器警告。这些警告将说明要改用哪个API。要完全禁用所有不推荐使用的API,请使用QT_DISABLE_DEPRECATED_BEFORE宏。
PyQt是Python版本的Qt库,是最常用的跨平台图形界面编程框架之一。代码不用修改,就能同时运行在windows、linux、ios、andriod等平台。因此,对芯片设计行业来说,既可以用来开发大型EDA工具(通常用Qt的C++库),也可以用来开发公司内部的flow工具,还可以用作应用工程师的测试工具。所以,今天,以Linux平台为例,来介绍一下Python Qt的基本用法。
以前就有听说Manjaro大大简化了Arch繁琐的安装,而且排名也相当不错,但一直没有尝试。正好@某昨在群里提到,于是我就心血来潮的装了个试试。Manjaro是我第三次尝试(之前是Ubuntu和短暂的Deepin)将Linux作为一个独立系统(而非WSL、虚拟机)用于日常使用。经过一段时间的使用体验后,我深刻体验到了Arch系软件包之全的好处,其社区之完善与软件包质量之高是我之前未曾想到的。不过,其实Manjaro诸多软件的安装、配置还是有一些需要注意的地方,于是在这篇文章中我会记录我在系统配置、安装软件时遇到的坑,与一些解决方法。 文中使用的桌面环境为KDE。文章将会持续更新。如有问题或希望贡献你自己的经验,欢迎留言或发邮件至admin@kaaass.net。
大家知道Windows下有一个很好的查看源代码的软件sourceinsight,使用sourceinsight查看Linux内核代码、嵌入式软件开发中的C语言项目源代码、驱动程序代码很是方便。在Linux下使用vim查看源代码不是很方便,于是搜了一下Linux下sourceinsight的相关替代软件,找到了一款Source Navigator,于是就试着在Ubuntu12.04下安装了一下。但是安装之后默认字体不好看,新建一个工程很慢,个人感觉跟sourceinsight没法比,还不如使用最新Android集成的Eclipse查看方便。
一、功能特点 超过160个精美控件,涵盖了各种仪表盘、进度条、进度球、指南针、曲线图、标尺、温度计、导航条、导航栏,flatui、高亮按钮、滑动选择器、农历等。远超qwt集成的控件数量。 每个类都可以独立成一个单独的控件,零耦合,每个控件一个头文件和一个实现文件,不依赖其他文件,方便单个控件以源码形式集成到项目中,较少代码量。qwt的控件类环环相扣,高度耦合,想要使用其中一个控件,必须包含所有的代码。 全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.13的任何Qt版本,支持mi
这是Avalonia UI官方的一个Demo,站长对部分Nuget包进行了升级,网友【小飞机MLA】对Linux版本修复了字体Bug得以正常运行、演示:
现在很多视觉设计最终给出的字体可能并不是所有系统都安装过的,所以项目中可能需要单独把字体文件打包进去在程序运行的时候加载。Qt QML 有多种方式加载一个自定义字体,本文将介绍所有我知道的方式,大家根据自己的需要选择使用任意一种即可。
谈起我的 Linux 学习之路,时间其实并不长。但是我却花了相对很少的时间,已经能达到把 Linux 当作自己的桌面系统的程度了。 Ubuntu 的体验令我有点沮丧,再者它也不适合我机子。后来我又知道了 Debian ,这个发行版据称稳定健壮。我这次怀着犹豫的心情去安装了,安装过程不像 Ubuntu 那样顺利,记得应该遇到过一点问题,但还是解决了。这次的 Debian 安装让我很满意,我的电脑像复活了一样,再也不会卡顿了。然而面对 Debian 我能干什么?我后来发现我什么也没干,我不了解任何东西,我也
❝预览系列字体的例子。❞ 📷 建立字体树显示。 QFontDatabase database; fontTree->setColumnCount(1); fontTree->setHeaderLabels(QStringList() << tr("Font")); foreach (QString family, database.families()) { const QStringList styles = database.styles(family); if (styles.i
1991年Qt最早由奇趣科技开发 1996年进入商业领域,是目前流行的Linux桌面环境KDE的基础 ……(略) 3.Qt支持的平台 4.Qt的下载与安装 这里我使用的是Qt 5.12.2
今天,我们发布了 Qt 5.13,我为每个人都投入的所有工作感到自豪。与往常一样,我们的版本带有新功能,更新,错误修复和改进。对于Qt 5.13,我们也一直专注于我们的工具,使得设计,开发和部署Qt的软件对设计人员和开发人员都更有效。让我们来看看Qt 5.13的一些亮点以及工具方面的一些更新。
这里感谢"周佳佳”同学???我没想到他是这么个名字哈。。。给了我这个链接,我找了好几天没有找到。。。
很多时候需要有一个控件,能够替代容器控件,自动容纳多个widget,自适应宽高,然后提供滚动条功能,这就必然需要用到QScrollArea控件,可设置各个子面板的间距等,也在很多系统中用到,比如温湿度设备面板,有几百个温湿度设备,需要一个容器放置,自动产生滚动条,可以设置面板的固定宽高或者自适应拉伸,其实就是放了表格布局+弹簧来设置。
加载插件是整个属性设计器的第一步要打通的功能,插件中的控件都加载不了,后面就别搞别玩下去了没法玩的,要从一个动态库中加载出来控件,肯定需要用到反射机制,以前做.NET开发的时候就觉得反射这个东西相当强大,居然可以读取DLL加载出来控件,现在用Qt,发现Qt也有反射机制,也许这东东可能各大开发语言平台都具备吧,Qt反射对应的类叫QMetaObject,着实强大,其实整个Qt开发框架也是超级强大的,本人自从转为Qt开发为主后,就深深的爱上了她,在其他跨平台的GUI开发框架平台面前,都会被Qt秒成渣,Qt的跨平台性是毋庸置疑的,几十兆的内存存储空间即可运行,尤其是嵌入式linux这种资源相当紧张的情况下,Qt的性能发挥到极致。
使用指定的图片作为QGraphicsView视图窗口的背景,并消除图元拖动时产生的残影。 思路: 派生QGraphicsScene类,重写drawBackground函数。
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说Manjaro Linux 入门使用教程「建议收藏」,希望能够帮助大家进步!!!
这个控件一开始打算用样式表来实现,经过初步的探索,后面发现还是不够智能以及不能完全满足需求,比如要在此控件设置多个角标,这个用QSS就很难实现,后面才慢慢研究用QPainter来绘制,我记得当时接到这个定制控件任务的时候是2016年,那时候对QPainter的使用还不是很熟悉,也就是从此控件开始,逐步研究QPainter的绘制,把所有的内置函数都使用一遍,最终用的越来越熟悉,使得后来到了心中有坐标,万物皆painter的境界,可能就像武林中所说的打通了任督二脉吧。
C4droid8-aarch64(arm64位)+SDL插件: 直接下载 备用地址
插件控件加载了,拖曳控件也实现了,接下来就是一个最难点了,跟QtDesigner或者其他开发环境一样,能够任意自由的拉伸控件大小,移动位置,为了这个功能,还特别编写了一个控件来实现这个功能,名字叫SelectWidget描点跟随窗体控件,大致的原理就是安装事件过滤器,在生成控件的时候将该控件传入描点跟随控件,自动识别鼠标的位置,按下拉动的距离来改变控件的大小,绘制描点指示器以便用户拉伸使用。
本文地址:http://www.cnblogs.com/beer/archive/2011/05/05/2037449.html
最近在项目测试中,发现了关于Qt - UI分辨率自适应的问题。从大小屏幕互相切换的问题。也引发了关于屏幕检测的问题。其中关于字体还有图片的自适应,需要在QApplication,初始化完成之后在进行配置。
上一篇文章把插件加载好了,并且把插件中的所有控件都显示到了列表框中,这次要做的就是实现拖曳控件的功能,用户选择一个控件拖曳到画布上,松开,在松开位置处自动实例化该控件,这个需要用到dropEvent和dragEnterEvent事件,重新实现这两个事件,对拖曳的对象进行过滤并调用函数实例化该控件,在实例化该控件的同时实例化控件跟随控件以便拉伸调整大小和位置。这里需要注意的是dragEnterEvent是必须的,很多人以为拖曳只要实现dropEvent就可以了,其实不行的,没有效果的,需要先dragEnterEvent来过滤好了执行event->accept()才行,不然根本没有效果,很多人尤其是初学者都挂在这里,我就是在这里摔了一跤,好疼!
原文链接:https://winter.blog.csdn.net/article/details/129746600
通用移动类,目标就是为了实现放入任意的控件以后,支持鼠标拖动,在容器中或者父类中拖动,这个应用场景非常多,比如在地图上放置的设备,需要用户自行按下拖动到指定的合适的位置,然后保存设备的位置坐标到数据库,下次打开直接加载,在一些安防项目、电力项目、环境监测等上面大量运用,有时候设备对应了多种类型,以前做的办法是将这个移动的代码直接封装在对应设备的自定义控件中,有个巨大缺点就是如果再新增加一个控件,又需要重复的代码加到控件中才行,可否将这个功能独立出来,只要传入控件就行呢,当然可以,比如我写过很多自定义控件,现在需要控件放到某个容器中能自由拖动,只需要new出通用移动类来就行。
数据源是组态软件的核心灵魂,少了数据源,组态就是个花架子没卵用,一般数据源有三种方式获取,串口、网络、数据库,至于数据规则是什么,这个用户自己指定,本设计器全部采用第一个字节作为数据来演示。
这个控件写了很久了,元老级别的控件之一,开发之初主要是自己的好几个项目要用到,比如提供一个颜色下拉框设置对应的曲线或者时间颜色,视频监控项目中经常用到的OSD标签设置,这个控件的难度系数接近0,初学者都会,其实网上搜索也很多人提供了绘制的方法,就是枚举QColor::colorNames()拿到所有的内置的颜色,然后生成对应的图片作为icon设置到下拉框的item中去,对应icon的宽高由控件本身的宽高决定,本控件继承自qcombobox控件,完全保留了该控件的所有特性,同时新增了颜色改变信号,以便用户使用。
领取专属 10元无门槛券
手把手带您无忧上云