是否可以在 Qt 文本片段上创建鼠标悬停事件监听器,如何创建?
也就是说,就像在 HTML span 元素上创建一个 JavaScript onMouseOver 事件一样,同样的事情可以用 C++ 中的 Qt 完成吗?请使用可更改该文本片段/跨度本身的背景颜色的解决方案进行演示。
例如,如果您将此问题的文本加载到一个文本元素中,您如何确保在将鼠标悬停在“您”上时只突出显示这些词?在 HTML 中,我只是将所有“你”放入一个范围内并添加一个 JS 事件。这也可能与 Qt 应用程序中加载的 (HTML) 文本有关吗?
最佳答案
所以根据标签,我可以假设你需要qml Mouse Area
并且默认情况下,信号(onEntered/onExited)仅在当前按下按钮时才会发出。因此,即使没有按下鼠标按钮,您也需要将 hoverEnabled 设置为 true 以发出此信号。
Text{
id: text1;
text: qsTr("SOME BIG TEXT")
font.pixelSize: 24
color: "black";
MouseArea {
id: area;
anchors.fill: parent;
hoverEnabled: true
onEntered: {
text1.color = "red";
}
onExited: {
text1.color = "black";
}
}
}
关于javascript - 为 Qt 文本片段创建鼠标悬停事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28540319/