
qt
文章平均质量分 50
barbyQAQ
这个作者很帅,什么都没留下…
展开
-
VS2022配置调试Qt源代码
需要保证源代码和项目使用的版本匹配,符号需要注意是64位还是32位,并且用msvc。原创 2024-11-01 20:16:20 · 819 阅读 · 0 评论 -
cmake Qt模板
这里采用了FILE GLOB自动添加所有cpp、h,这样有利有弊,也可以直接把文件写在。原创 2024-10-16 16:49:58 · 622 阅读 · 0 评论 -
Qt源码阅读——事件循环
源码版本:Qt 6.5.0下面来跟踪一下它的实现。原创 2024-10-06 16:50:35 · 1252 阅读 · 0 评论 -
QStyle简介
QStyle类的内容非常庞大,本文旨在对各部分一句话概括,方便建立整体认知。更详细全面的内容另请参见QStyle文档。原创 2024-10-02 13:42:53 · 771 阅读 · 1 评论 -
QStyle文档
QStyle文档原创 2024-10-02 12:37:47 · 901 阅读 · 0 评论 -
Qt圆角QWidget
【代码】Qt圆角QWidget。原创 2024-09-06 17:11:15 · 203 阅读 · 0 评论 -
QCombobox控制下拉列表位置
的位置是默认位置,也就是左对齐)原创 2024-08-20 20:46:44 · 445 阅读 · 0 评论 -
QtQuick 布局管理-布局管理器
在一个布局管理器中横向排列两个矩形,当拉伸程序窗口时,左边距形可以从50x150变化到300x150,右边矩形可以从100x150变化到∞x100。与定位器不同,布局管理器不仅进行布局,而且会改变项目的大小,所以更适用于需要改变用户界面大小的应用。布局管理器的大小约束可以用来确保窗口大小不会超过约束条件,还可以将布局管理器的约束设置到窗口项目的。属性来设置当前显示的项目,索引号对应布局管理器中子项目的顺序,从0开始。为了将布局管理器与窗口进行关联,可以为布局管理器添加锚。,此时,有效的最佳高度会从。原创 2024-08-11 16:59:31 · 797 阅读 · 0 评论 -
QtQuick 布局管理-基于锚的布局
另外,还可以通过JavaScript改变锚,但是一定要注意操作的顺序,否则可能出现奇怪的结果。锚定系统也允许为一个项目的锚指定边距(margin)和偏移(offset)。其中baseline是一条假想的线,文本坐落在这条线上。Qt Quick锚定系统允许不同项目的锚线之间建立关系。对于没有文本的项目,baseline与top相同。边距指定了项目锚到外边界的空间量,偏移则允许使用。类型,以便在运行时修改项目的锚,它需要在状态。,所以所有可视项目都可以使用锚进行布局。不能修改项目的边距,需要时可以使用。原创 2024-08-11 16:02:13 · 341 阅读 · 0 评论 -
QtQuick 布局管理—定位器
Column、Row、Grid和Flow中会附加一个Positioner类型的对象作为顶层子项目,它可以作为定位器中的子项目提供索引等信息。每一个项目都会被放置在网格左上角(0, 0)的位置。通常会包含在一个定位器中,用于直观地对Repeater产生的众多委托项目进行布局。这里使用了一个矩形作为委托,在其中通过index索引属性显示了每个子项目的编号。在Repeater中创建的项目数量可以通过count属性获得,该属性是只读的。定位器(Positioners)是一个容器,可以管理其中子项目的布局,包括。原创 2024-08-11 15:18:50 · 866 阅读 · 0 评论 -
Qt解析XML
结果发现低估了难度,VS会间接引入许多目录。略有不甘,暂且作为一个解析XML文件的示例。),配合cppclean来发现多余的。本来想解析VS的项目配置文件(原创 2024-08-10 20:50:52 · 505 阅读 · 0 评论 -
QtQuick TextEdit
这里将focus设置为true,使TextEdit项目接收键盘输入。TextEdit没有提供滚动条、光标跟随等通常行为。TextEdit用于显示多行、可编辑的格式化文本。元素提供滚动,实现光标跟随。可以显示纯文本、富文本。,暂时感觉不是很重要。原创 2024-08-10 15:07:31 · 205 阅读 · 0 评论 -
QtQuick TextInput
TextInput默认没有漂亮的外观。一般吧直接使用TextInput本事,而是自定义一个组件爱你,外部直接使用新的组件代替TextInput。属性可以使用鼠标选取TextInpu中的文本。在Qt 6.4以前该属性默认为false,之后的版本默认为true。信号处理器,而且只有当所以必须输入的字符都输入后,按下回车键才可以调用该信号处理器。TextInput还提供了许多和文本选取有关的方法,例如用于复制的。可以分别获取鼠标选取的文本块前后的光标位置。,它们都会在回车键按下时被调用。获取选中的文本,使用。原创 2024-08-10 14:46:50 · 455 阅读 · 0 评论 -
类模板实现实现Qt click/hover自定义操作
不能在类模板中使用,导致我们不能在模板类中设置信号。不过也不是刚需,上面的场景回调函数足够用了。/QSS只能实现常规态、按下态的图标切换,hover态的图片设置无效。注意,只能通过组合的方式。如果通过多继承的方式,例如让模板类继承。然而,总要为这些鸡毛蒜皮的操作“小动干戈”会让人不爽。如果一定要使用信号,那么就要用一个类来代理信号的发送。常常会需要实现点击/hover时修改图片,可能是一个。解决思路无非是安装事件过滤器、自定义类并重实现事件。这里选择更通用的类模板来简化操作。不支持多重继承,会有问题。原创 2024-08-06 11:49:22 · 1173 阅读 · 0 评论 -
QtQuick Text-文本格式和超链接
时可以自动判定是否以样式文本进行显示,这是通过检查文本是否存在HTML标签来判定的,通常情况下可以正确判断,但是并不能保证绝对正确。处理器,它会在用户单击了文本超链接时被调用。超链接必须使用富文本或者HTML格式。解析器很严格,需要标签必须正确嵌套。其中link提供了被单击的特定链接。Text项目提供了一个。原创 2024-08-03 13:51:54 · 295 阅读 · 0 评论 -
QtQuick Text-文本样式
属性可以设置文本的样式。原创 2024-08-03 00:01:00 · 291 阅读 · 0 评论 -
QtQuick Text-对齐方式
在这种情况下,所以的对齐都是等价的。如果想让文本处于父项目的中间,那么可以使用。对于没有设置Text大小的文本,Text的大小就是包含文本的区域。分别用来设置文本在 Text项目区域中的水平、垂直对齐方式。原创 2024-08-02 22:41:33 · 266 阅读 · 0 评论 -
QtQuick Text-文本省略
【代码】QtQuick Text-文本省略。原创 2024-08-02 22:20:04 · 290 阅读 · 0 评论 -
Qt弹窗实现退出渐变动画
【代码】Qt弹窗实现退出渐变动画。原创 2024-07-30 20:21:54 · 268 阅读 · 0 评论 -
QtQuick-QML类型系统-对象特性 (枚举特性)
枚举(Enumeration)提供了一组固定的命名选项,通过enum关键字来声明。原创 2024-07-28 13:55:37 · 213 阅读 · 0 评论 -
QtQuick-QML类型系统-对象特性 (附加属性和附加处理器)
只是附加到了根委托对象,而不是委托对象的子对象。在实习一个QML类型时,可以选择性地创建一个包含特定属性和信号的附加类型。附加属性和附加信号处理器是一种允许对象使用额外的属性或信号处理器的机制。使用附加属性和附加信号处理器的常见错误是,在附加对象的子对象中使用它们。这个属性可以让每一个独立的委托对象确定其是否是视图中当前选择的对象。因为附加类型的实例只是附加到了特定的对象,并不是对象及其所有子对象。,这样便允许这些对象访问附加类型中的属性和信号。上面的例子中,附加类型的名称是。附加信号处理器也是类似的。原创 2024-07-28 13:49:34 · 270 阅读 · 0 评论 -
QtQuick-QML类型系统-对象特性 (方法特性)
QML的方法可以用于定义JavaScript代码块,达到相对独立的可重用的目的。这些方法可以在内部调用,也可以被外部对象调用。与信号类似,同一作用域不能有两个同名的方法,若重名,则新的会隐藏旧的方法,旧方法变得不可访问。对象类型的方法就是一个函数,可以执行,也可以和信号关联,这样发射信号会自动调用。与信号不同,方法的参数类型可以不明确指定,因为默认情况下这些参数都是。但是为了提高性能和可维护性,建议指定参数的类型。宏进行注册的方式定义方法;在C++中,可以使用。原创 2024-07-28 13:23:28 · 238 阅读 · 0 评论 -
QtQuick-QML类型系统-对象特性(信号和信号处理器)
但是新的信号可以重用已有信号的名字,这意味着原来的信号会被新的信号隐藏,变得不可访问。信号处理器必须在发射信号的对象的定义中进行声明,其中包含调用时要执行的JavaScript代码块。特定的信号发射后,可以通过相应的信号处理器获得通知。函数,支持将一个信号与一个方法或者另外的信号连接起来,这与Qt/C++类似。除了上面的最基本用法,有时可能需要在发射信号的对象外部使用这个信号。除了自定义的信号,QML类型还提供了一种内建的属性值改变信号。其中信号处理器的形参名称不必与信号的参数名称匹配。原创 2024-07-27 23:48:57 · 501 阅读 · 0 评论 -
QtQuick-QML类型系统-对象特性(id和属性)
每一个QML对象类型都包含一组定义好的特性。每个对象类型的实例在创建时都会包含一组特性,这些特性是在该对象类型中定义的。下面将介绍它们,也可以在Qt帮助中通过QML QObject Attributes关键字查看。原创 2024-07-27 21:55:40 · 1518 阅读 · 0 评论 -
解决Qt MouseMoveEvent不触发
Qt的MouseMoveEvent只有在点下鼠标时移动才会触发,应该是为了提高性能。原创 2024-07-26 19:15:02 · 729 阅读 · 0 评论 -
解决Qt鼠标不移动enterEvent就不触发的问题
Qt的enterEvent依赖于鼠标移动,如果鼠标没移动,就不会触发。控件自己移动到鼠标下时,也不会触发enterEvent。解决办法:通过moveEvent来主动触发entterEvent。原创 2024-07-26 14:21:59 · 407 阅读 · 0 评论 -
Qt自定义MessageToast
文字长度自适应,自动居中到parent,会透明渐变消失。原创 2024-07-25 14:31:18 · 472 阅读 · 0 评论 -
QtQuick-QML类型系统-对象类型
数据类型可以是QML语言原生的,可以通过C++注册,可以由独立的QML文档作为模块进行加载,也可以由开发者通过C++类型或者定义QML组件来提供自定义的类型。不过,无论如何,QML引擎都会保证这些类型的属性和实例的类型安全。原创 2024-07-22 22:04:53 · 1063 阅读 · 0 评论 -
QtQuick-QML语法
QML是一种专门用于构建用户界面的编程语言,它允许与开发人员和设计者构建高性能的、具有流畅动画特效的可视化应用程序。QML文档是高度可读的、声明式的文档,具有类似JSON的语法,支持使用JavaScript表达式,具有动态属性绑定等特性。Qt 6 中通过导入Qt QML模块来使用QML语言,它定义并实现了QML语言及其解释引擎的基础构件,提供了供开发人员进行扩展的接口,以及将QML代码、JavaScript和C++集成在一起的接口。Qt QML模块既提供了QML接口,又提供了C++接口。原创 2024-07-21 20:04:06 · 597 阅读 · 0 评论 -
QtQuick-第一个程序
新建Qt Quick Application。新建images.qrc(注意设置并添加到CMakeLists.txt的):</</</原创 2024-07-21 17:40:15 · 360 阅读 · 0 评论 -
Qt去掉QTableView的虚线框
自定义代理类,重实现。原创 2024-07-15 19:23:23 · 269 阅读 · 0 评论 -
Qt MV架构 数据-窗口映射器
类的使用,也可以参考Simple Widget Mapper和Combo Widget Mapper示例程序,它们在Item Views分类中。类在数据模型的一个区域和一个窗口部件间提供了一个映射,这样就可以实现在一个窗口部件上显示和编辑一个模型中的一行数据。实例,然后为其设置了关联的模型,并设置了窗口部件和模型中对应列的映射,最后使用。参考资料:Qt Creator快速入门 (霍亚飞 著)函数来显示模型中上一行和下一行的数据。函数可以显示模型中嘴鸥一行的数据。函数来显示模型中第一行的数据。原创 2024-07-13 16:03:13 · 391 阅读 · 0 评论 -
QT MV架构-模型类
可读模型只需要实现rowCount()和data()。此处还选择性实现了,这个模型是非层次结构的。如果是层次结构的模型,还需要实现index()和parent()。原创 2024-07-03 21:44:37 · 215 阅读 · 0 评论 -
Qt MV架构-代理模型
要使用一个代理模型,则只需要为其设置源模型,然后再视图中使用该代理模型即可。代理模型可以将一个模型中的数据进行排序或者过滤,然后提供给视图进行显示。参考资料:Qt Creator快速入门第2版 (霍亚飞 著)作为标准的代理模型来完成模型中数据的排序和过滤。这里使用了行编辑器中的文本作为正则表达式。原创 2024-07-13 15:42:55 · 323 阅读 · 0 评论 -
Qt MV架构-委托类
void。原创 2024-07-13 15:29:47 · 450 阅读 · 0 评论 -
Qt MV架构-视图类
一旦设置了一个选择模型,所有的项目集合都可以被选择、取消选择或者切换选择状态,而不需要知道哪一个项目已经被选择了。所有被选择项目的索引都可以被随时进行检索,其他的组件也可以通过信号和槽机制来获取选择模型的改变信息。选择由选择范围指定,只需要记录每一个选择范围开始和结束的模型索引即可,非连续的选择可以使用多个选择范围来描述。实例中,这样被选择的项目模型索引便保持在一个独立的模型中,与所有的视图都是独立的。选择可以看作是在选择模型中保存的一个模型索引集合,最近的项目选择被称为当前选择。原创 2024-07-12 20:54:42 · 930 阅读 · 0 评论 -
开源项目学习——vnote
vnote是一款markdown编辑器,windows/linux/mac都能用。原创 2024-06-09 16:16:11 · 507 阅读 · 0 评论 -
qt图片绘制圆角
在图片上绘制透明的蒙板,从而实现圆角的效果。的方式设置的图片,图片会覆盖圆角。原创 2024-05-17 19:42:03 · 474 阅读 · 0 评论 -
qcombobox隐藏某个item
【代码】qcombobox隐藏某个item。原创 2024-05-16 15:14:32 · 661 阅读 · 0 评论 -
qt分隔线样式
【代码】qt分隔线样式。原创 2024-05-08 10:23:51 · 306 阅读 · 0 评论