- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 Qt Linguist手册-翻译员
Qt Linguist 是为 Qt 应用程序添加翻译的工具。一旦安装了 Qt,就可以像开发主机上的其他应用程序一样启动 Qt Linguist。翻译区域 (1) 始终可见。要显示或隐藏其他视图,请选择视图 > 视图,或使用上面列出的键盘快捷键。您可以通过标题栏拖动视图,将它们排列在翻译区域周围,甚至主窗口之外。
2024-09-30 20:05:22 809
原创 Qt Linguist手册
Qt 为将 Qt C++ 和 Qt Quick 应用程序翻译成当地语言提供了出色的支持。发布经理、翻译和开发人员可以使用 Qt 工具来完成他们的任务。有关支持的语言和书写系统的更多信息,请参阅。
2024-09-30 20:03:39 828
原创 Qt CMake
CMake 是一款用于简化跨不同平台开发项目的构建流程的工具。CMake 可自动生成构建系统,如 Makefile 和 Visual Studio 项目文件。CMake 是一个第三方工具,有。本主题介绍如何在 Qt 5 中使用 CMake 3.1.0。
2024-09-29 21:01:51 1144
原创 2D 图形绘制与 QPainter
QPainter 提供了绘制向量图形、文本和图像到不同表面(如 QImage、QOpenGLPaintDevice、QWidget 和 QPrinter 等 QPaintDevice 实例)的 API。实际的绘制操作在 QPaintDevice 的 QPaintEngine 中进行。QPaintEngine 中最重要的两个实现是软件光栅化器和 OpenGL (ES) 2.0 后端。软件光栅化器是 Qt 的软件光栅化器,用于在 QImage 或 QWidget 上绘制时使用。
2024-09-27 10:15:41 999
原创 Qt-qmake语言
许多qmake项目文件只是使用name = value和name += value定义列表来描述项目使用的源文件和头文件。Qmake还提供了其他操作符、函数和作用域,可用于处理变量声明中提供的信息。这些高级特性允许从单个项目文件为多个平台生成makefile。在许多项目文件中,可以使用赋值(=)和append(+=)操作符来包含项目的所有信息。典型的使用模式是将一个值列表赋值给变量,然后根据各种测试的结果添加更多的值。由于qmake使用默认值来定义某些变量,因此有时需要使用删除(-=)操作符来过滤掉不需要的
2024-09-23 21:42:21 1125
原创 Qt-qmake概述
qmake工具为您提供了一个面向项目的系统,用于管理应用程序、库和其他组件的构建过程。这种方法使您能够控制使用的源文件,并允许简洁地描述过程中的每个步骤,通常在单个文件中。qmake将每个项目文件中的信息扩展为一个Makefile,该Makefile执行编译和链接所需的命令。
2024-09-23 20:18:39 579
原创 Qt-拖放
是世界上几乎所有语言的文本编码标准。现在,在大多数现代操作系统上,它被用作文本的本地编码。主要的例外是Microsoft Windows,它仍然有一个双重系统,支持代码页和应用程序的Unicode。
2024-09-23 16:33:00 967
原创 QT Mode/View之View
在模型/视图架构中,视图从模型中获取数据项并将它们呈现给用户。数据的表示方式不必与模型提供的数据表示形式相似,而且可能与用于存储数据项的底层数据结构完全不同。通过使用QAbstractItemModel提供的标准模型接口和QAbstractItemView提供的标准视图接口,以及使用通用方式表示数据项的模型索引,实现了内容与表现的分离。视图通常管理从模型中获得的数据的总体布局。它们可以自己渲染单个数据项,或者使用委托来处理渲染和编辑功能。除了显示数据,视图还处理项目之间的导航,以及项目选择的一些方面。
2024-09-14 14:44:40 1039
原创 Qt Model/View之Model
模型索引以一种独立于任何底层数据结构的方式向视图和委托提供关于模型所提供的项目位置的信息。元素项通过行号和列号以及父元素项的model索引进行引用。模型索引是由模型根据其他组件(如视图和委托)的请求构建的。如果在使用index()方法请求索引时为父元素指定了有效的模型索引,则返回的索引指向模型中父元素下面的元素。获得的索引指向该项的一个子项。如果在使用index()方法请求索引时,为父元素指定了无效的模型索引,则返回的索引指向模型中的顶层元素。角色区分与项相关联的不同类型的数据。
2024-09-12 20:46:18 1076
原创 Qt-布局管理
Qt包含了一组布局管理类,用于描述窗口组件在应用程序用户界面中的布局方式。当可用空间发生变化时,这些布局会自动定位和调整窗口组件的大小,确保它们的排列一致,并且用户界面作为一个整体保持可用。所有QWidget子类都可以使用布局来管理它们的子组件。函数QWidget::setLayout()为部件应用布局。子部件的定位合理的窗口默认大小合理的窗口最小尺寸调整处理内容变更时自动更新:子部件的字体大小、文本或其他内容隐藏或显示子部件移除子部件。
2024-09-06 20:43:47 1003
原创 Qt-桌面服务和托盘
t应用程序在用户的桌面环境中表现良好,但某些集成需要额外的,有时是特定于平台的技术。Qt中的各种类旨在帮助开发人员将应用程序集成到用户的桌面环境中。这些类使开发人员能够在使用跨平台API的同时利用原生服务。
2024-09-06 19:49:29 575
原创 Qt 应用程序主界面
主要窗口类的概述这些类提供了典型现代主应用程序窗口所需的一切,如主窗口本身、菜单和工具栏、状态栏等。菜单小部件,用于菜单栏、上下文菜单和其他弹出式菜单。
2024-09-05 21:47:17 1179
原创 Qt-高DPI显示器
与标准DPI显示器相比,高DPI显示器增加了像素密度。像素密度以每英寸点数(DPI)或每英寸像素(PPI)来衡量,由显示像素的数量和它们的大小决定。因此,单独的像素数量不足以确定显示器是否属于高dpi类别。4K显示器有固定的像素数(约8米),但它的DPI在185(23英寸)和110(40英寸)之间变化。前者是标准96 DPI桌面分辨率的两倍左右;后者仅略高于这个分辨率。
2024-09-05 21:15:40 1370
原创 jemalloc分析内存
分析内存泄漏过程中, 由于tcmalloc不能长时间开启heap profile(会不停涨内存,导致内存爆掉).尝试换jemalloc.程序运行后查看是否挂载了jemalloc。
2024-08-03 16:27:04 171
原创 成长-项目管理
这涉及到提供有价值的信息,展示产品的特点和优势,以及解释产品如何满足消费者的需求或解决他们的问题。解答应直接、有力,能够满足听众的期待,同时展示你的产品、服务或观点的价值。:在这个阶段,团队确定改进的目标,识别问题,分析现状,设定要达到的目标,并制定行动计划。问题的提出是为了进一步吸引听众的注意力,使他们更加投入到故事中,期待后续的答案。:适用于高度成熟和自信的下属,这类员工既具备完成任务的能力,也拥有积极的态度。:目标应该是具体的,明确的,避免模糊不清。:目标应该是现实的,可行的,基于现有的资源和条件。
2024-07-05 18:30:34 368
原创 Linux主分区被格式化导致不能被系统识别出来
解决方法:sudo fdisk /dev/sdX重新创建主分区在 Linux 中格式化 SSD 磁盘主要包括几个步骤:确认设备、创建分区(如果需要)、格式化分区以及挂载分区。
2024-07-02 20:52:12 317
原创 Gperftools交叉编译
Gperftools(Google Performance Tools)是由谷歌开发的一组性能分析工具。它包括了多个工 具,其中最为知名的是 tcmalloc(Thread-Caching Malloc)和 CPU Profiler。相比与其他性能分析工具,gperftools有Profiling速度快,灵活性较高的优点。主流的热点分析工具,分别是GNU gprof、Valgrind和Google perftools.
2024-06-29 21:41:14 470
原创 Qt代码分析
要使用代码分析工具,请在Analyze菜单或(Start Debugging of Startup Project)按钮的下拉菜单中选择它。使用Linux Perf工具集成的Performance Analyzer分析嵌入式应用程序和Linux桌面应用程序的CPU使用情况。使用Memcheck工具检测内存管理中的问题,使用Callgrind工具查找代码中的缓存缺失。例如,作为测试套件的一部分分析应用程序的运行方式,并使用结果使测试更有效和更完整。进行代码静态分析和架构分析,检测并消除代码不必要的复杂性。
2024-06-29 16:17:36 359
原创 Qt自定义类型
在开始之前,我们需要确保创建的自定义类型满足QMetaType的所有要求。一个公共的默认构造函数,一个公共复制构造函数,以及一个公共析构函数。public:private:这个类还提供了一个普通使用的构造函数,以及两个用于获取私有数据的公共成员函数。虽然前一节中的声明使该类型可用于直接的信号槽连接,但不能用于排队的信号槽连接,例如不同线程中的对象之间的连接。这是因为元对象系统不知道如何在运行时处理自定义类型对象的创建和销毁。要在运行时创建对象,请。
2024-06-29 15:43:52 1243
原创 Qt坐标系统
坐标系统由QPainter类控制。与QPaintDevice和QPaintEngine类一起,QPainter构成了Qt绘画系统的基础。QPainter用于执行绘制操作,QPaintDevice是一个二维空间的抽象,可以使用QPainter在其上进行绘制,QPaintEngine提供了画家用于在不同类型设备上绘制的界面。QPaintDevice类是可绘制对象的基类:它的绘制功能由QWidget、QImage、QPixmap、QPicture和QOpenGLPaintDevice类继承。
2024-06-21 20:35:08 1373
原创 QT处理Unix信号
每个QSocketNotifier的activated()信号连接到相应的插槽函数,该函数有效地将Unix信号转换为QSocketNotifier::activated()信号。策略是让Unix信号处理程序做一些事情,最终导致Qt信号被发出,然后您只需从Unix信号处理程序返回。回到你的Qt程序,Qt信号被发射,然后被Qt插槽函数接收,在这里你可以安全地做任何Qt的事情你在Unix信号处理程序中不允许做的事情。现在你安全地回到了Qt中,你的信号,你可以做所有Qt的东西,你不被允许做在Unix信号处理程序。
2024-06-20 21:20:45 427
原创 Qt异常处理
初步警告:异常安全功能不完整!一般情况下应该可以工作,但类仍然可能泄漏甚至崩溃。Qt本身不会抛出异常。而是使用错误码, 但是C++可能会抛出异常。此外,有些类有用户可见的错误消息,例如QIODevice::errorString()或QSqlQuery::lastError()。这有历史和现实的原因——打开异常可能会使库的大小增加20%以上。下面几节将描述Qt在编译时启用异常支持时的行为。
2024-06-20 20:55:52 648
原创 Qt插件系统
例如,如果您想编写一个自定义的QStyle子类并让Qt应用程序动态加载它,那么您将使用高级的API。由于高级API构建在低级API之上,因此有些问题对两者都是通用的。如果你想为Qt Designer提供插件,请参阅Qt Designer模块文档。
2024-06-17 11:49:16 1289
原创 Qt国际化
Qt使用Unicode编码可显示的文本字符串。Unicode为世界上所有常用的书写系统提供支持,是跨平台开发的理想选择。还可以使用Qt强大的国际化系统,用一个代码库编写应用程序来支持任意数量的不同语言。
2024-06-14 15:41:55 744
原创 Qt状态机框架
状态机框架提供了用于创建和执行状态图的类。这些概念和符号基于Harel的Statecharts:复杂系统的可视化形式(),也是UML状态图的基础。状态机执行的语义基于状态图XML (SCXML)(状态图提供了一种图形化的方式来模拟系统对刺激的反应。这是通过定义系统可能处于的状态,以及系统如何从一个状态移动到另一个状态(状态之间的转换)来完成的。事件驱动系统(如Qt应用程序)的一个关键特征是,行为通常不仅取决于最近的或当前的事件,还取决于在它之前的事件。使用状态图,这些信息很容易表达。
2024-06-13 20:51:39 890
原创 Qt事件系统
在Qt中,事件是对象,派生自抽象的QEvent类,它表示应用程序内部发生的事情或作为应用程序需要知道的外部活动的结果。事件可以由QObject子类的任何实例接收和处理,但它们与小部件特别相关。本文档描述了在典型应用程序中如何传递和处理事件。
2024-06-13 10:12:26 898
原创 Qt属性系统
属性使用的自定义类型需要使用宏注册,以便它们的值可以存储在QVariant对象中。这使得它们既适合与类定义中使用Q_PROPERTY()宏声明的静态属性一起使用,也适合与运行时创建的动态属性一起使用。
2024-06-07 21:33:57 734
原创 Qt元对象系统
它试图将其参数强制转换为尖括号中指定的指针类型,如果对象的类型是正确的(在运行时确定),则返回一个非零指针,如果对象的类型不兼容则返回nullptr。从元对象系统的角度来看,一个没有元代码的QObject子类相当于它最近的祖先带有元对象代码。如果它发现一个或多个包含Q_OBJECT宏的类声明,它会生成另一个c++源文件,其中包含每个类的元对象代码。从QObject到QWidget的强制转换是成功的,因为对象实际上是一个MyWidget,它是QWidget的一个子类。另一方面,对QLabel的强制转换失败。
2024-06-07 11:08:19 905
原创 QT对象模型
上面列出的Qt对象模型的一些附加功能要求我们将Qt对象视为身份,而不是值。克隆意味着创造一个新的身份,而不是旧身份的精确副本。他们可能看起来一样,但他们有不同的名字,不同的位置,可能有完全不同的社交网络。标准的 C++ 对象模型为对象范式提供了非常有效的运行时支持。Qt通过将C++的速度与Qt对象模型的灵活性相结合来提供这一点。其他的,比如对象通信机制和动态属性系统,需要Qt自己提供的。由于这些原因,Qt对象应该被视为身份,而不是值。标识是克隆的,而不是复制或分配的,克隆标识是比复制或分配值更复杂的操作。
2024-06-06 16:55:16 820
原创 修改window应用程序图标
由此我们可以分析出ICO的结构是:NEWHEADER+NEWHEADER.ResCount*ICONRESDIR+图片数据。修改后如果图标没有立刻发生变化那么需要清理图标缓存:批处理.bat。客户需要定制程序的图标, 期望不需要重新编译也能修改图标.方法:直接更新exe图标资源.
2024-01-17 18:20:02 539
原创 Ubuntu下编译qt程序libQtWebEngineCore报错
最近在Ubuntu下编译qt程序时, 报如下错误libQt5WebEngineCore.so: .dynsym local symbol at index 3 (>= sh_info of 3)libQt5WebEngineCore.so: .dynsym local symbol at index 4 (>= sh_info of 3)libQt5WebEngineCore.so: .dynsym local symbol at index 5 (>= sh_info of 3
2022-03-14 15:30:40 5298 8
原创 红黑树
转载:https://blog.csdn.net/tanrui519521/article/details/80980135转载:https://www.cnblogs.com/liyuan989/p/4071942.html红黑树与AVL树的比较:1.AVL树的时间复杂度虽然优于红黑树,但是对于现在的计算机,cpu太快,可以忽略性能差异2.红黑树的插入删除比AVL树更便于控制操作3.红黑树整体性能略优于AVL树(红黑树旋转情况少于AVL树)红黑树的性质:红黑树是一棵二叉搜索树,它在
2020-11-21 20:43:54 647
原创 平衡二叉树的插入和删除
转载:https://blog.csdn.net/weixin_36194037/article/details/79440464转载:https://www.cnblogs.com/suimeng/p/4560056.html在学习二叉排序树的查找时,通过分析查找算法的效率可知,不同结构的二叉排序树查找效率有很大的不同,单支树(图1)的查找效率相当于顺序查找,而越趋于平衡的二叉排序树(图2)查找效率越高。因此,在二叉排序树的基础上引进了平衡二叉树。概念平衡二叉树的目的是:为了...
2020-11-19 20:49:59 1691
原创 二叉排序树
概念二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。是数据结构中的一类。在一般情况下,查询效率比链表结构要高(也称作对半查找法)。一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)若存在值相等的结点,可以放在左子树上或者右子树上,视情况而定。 (4)左、右子树也分别为二叉排序树;性能分析每
2020-11-19 14:55:53 1857 1
原创 平衡二叉树概念和查询
概念平衡二叉树或者是棵空树,或者是具体下列性质的二叉查找树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的高度只差的绝对值不超过1。若将二叉树结点的平衡因子定义为该节点的左子树的高度减去它的右子树的高度,则所有结点的平衡因子只可能为-1,0,1。只要有一个结点的平衡因子的绝对值大于1,那么这棵树就失去了平衡。(a)平衡二叉树此节点往下 左子树深度 - 右子树深度=平衡因子(注意这里是深度相减,而不是平衡因子)5的结点平衡因子就是 3 - 2 = 1;2的结点平衡因子就是 1
2020-11-19 11:58:40 310 1
磁盘出错无法进入系统fsck自动修复配置
2024-03-27
channel-v3.json
2018-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人