qt - 如何检测何时在 TextEdit 组件中获得焦点
问题描述
我已经搜索了文档以找到一个信号,以便在TextEdit
组件被聚焦时挂钩,以便我可以进行一些格式化,但我找不到任何东西。我有一个TextEdit
允许用户编辑数字的组件,但在不关注时使用区域设置打印数字,如下所示:
TextEdit {
text: object.number.toLocaleString()
onFocus: { text = object.number; }
onEditingFinished: {
// Validation
object.number = parseInt(text);
}
}
有什么我错过的吗?
解决方案
这是你想做的吗?我使用 onPropertyChanged 通过创建 2 个文本编辑字段来实现它,这样我就可以将焦点从一个更改为另一个。TextEdit
在这里你会看到的是当你在s之间来回点击时文本的变化
import QtQuick 2.7
import QtQuick.Window 2.0
Window
{
id: mainWindow
width: 800
height: 800
visible: true
TextEdit {
id: t1
text: "defaut"
onFocusChanged: {
if(focus)
text = "focused"
else
text = "not focused"
}
}
TextEdit {
anchors.top: t1.bottom
text: "default2"
onFocusChanged: {
if(focus)
text = "focused"
else
text = "not focused"
}
}
}
推荐阅读
- .net - 将一台复制服务器变成观察者
- ssl-certificate - 通配符 ssl 证书 (*.blog.mydomain.com) 在 blog.mydomain.com 上不起作用
- jmeter - 无法通过 Jmeter 脚本更新字段值
- amazon-web-services - AWS ElasticSearch 迁移到另一个区域
- authorization - Swagger 令牌授权
- powershell - PowerShell 字符串中字母的第一个索引
- javascript - 根据对象内部的键对对象进行排序
- java - Java:数据库连接代码问题
- c++ - Qt MacOs 应用程序在退出时使用 dyld::fastBlindLazySymbol 和 sold_stub_binder 崩溃
- c++ - 从给定的二维点计算 SIFT 描述符