qml中,表格显示时,要求对表格中单元格中的文字显示不全时,能够显示ToolTip,网上查了很多资料,最后在Text中在添加一个Text控件,并且该控件的可见性为false,该方法可以达到要求。具体代码如下:
//
Text
{
id:control
font.pixelSize: 16
font.family: "Microsoft YaHei"
color: "#333333"
elide: Text.ElideRight
Text {
id: _control
visible: false
text: parent.text
font.family: parent.font.family
font.pixelSize: parent.font.pixelSize
}
MyToolTip
{
visible: control.width<_control.width
tipText: control.text
}
}
MyToolTip是进行了一层封装,当鼠标放上去时显示,完整内容如下:
import QtQuick.Controls 2.15
import QtQuick 2.15
Item
{
anchors.fill: parent
property string tipText: ""
MouseArea
{
anchors.fill: parent
hoverEnabled: true
onEntered:
{
control.visible = true
}
onExited:
{
control.visible = false
}
}
ToolTip{
id:control
text: tipText
}
}
我使用的TableView,然后在itemDelegate中进行设置,达到预期的效果