qt/qml遇到的那些坑
DKMKVI
这个作者很懒,什么都没留下…
展开
-
qml模态弹窗过滤鼠标移动事件
问题描述:在使用qml中的popup组件时,将modal属性设置成true,即模态弹窗,popup窗口之外区域的鼠标点击事件被禁用,但是鼠标移动事件仍然被响应,即被弹窗掩盖的id为ma1的MouseArea的onEntered和onExited事件仍然会触发。代码示例:Item{ width: 100 height: 100 MouseArea{ id: ma1 hoverEnabled: true anchors.fill:原创 2022-01-04 12:07:03 · 887 阅读 · 0 评论 -
qt信号槽变化导致连接异常的问题
在连接信号和槽函数时,可以使用函数指针的形式,代替直接调用。之后如果对信号或槽的参数有修改,连接处就无需改动,如图,形式一替换为形式二。形式一:connect( objectA, SIGNAL(signalA(paramType, ...)), objectB, SLOT(slotB(paramType, ...)) );形式二:connect( objectA, &ClassA::s原创 2021-07-21 09:48:46 · 235 阅读 · 0 评论 -
qml 使用TextField组件时文本位置异常
在使用TextField组件作为单行输入框时,文本位置受到padding和height属性影响,如果height小于padding+contentHeight的和,这时就会导致文本无法居中,经过测试,padding的默认值是6,但我没有在官方文档找到这个属性的默认值,有可能是Qt自动设置的。为了解决这个问题,我手动设置不同方向上的padding值,最终使得文本显示到输入框中间。...原创 2021-07-07 17:41:47 · 790 阅读 · 0 评论 -
qml 属性绑定失效原因之一
在使用qml编写程序时,由于对底层实现不了解,导致属性绑定失效,后来发现原因是,对某一属性进行估值后,会解除该属性上原来的冒号绑定,导致其失效。参考https://zhuanlan.zhihu.com/p/56401271...原创 2021-06-10 20:05:31 · 500 阅读 · 0 评论 -
qml项目中修改listView模型数据时视图重置(返回到顶部)
之前在修复缺陷时发现,当模型(model)数据改变后,视图(view)显示位置会重置到顶部,自己在查阅了相关文档之后,仍然找不到解决办法,于是就从数据刷新的位置进行分析。我的程序里,并没与插入新的数据,只是在原数据的基础上进行更改,因此发现,我才插入数据前后,调用了beginResetModel()和endResetModel()函数。beginResetModel();.....endResetModel();在查阅文档之后发现,beginResetModel()函数调用后原创 2021-05-25 16:06:42 · 1746 阅读 · 0 评论