减少在 ItemDelegate 上发出 onPressAndHold 之前的时间
Decrease time until onPressAndHold is emitted on ItemDelegate
我有以下示例 Qt Quick 应用程序:
import QtQuick 2.12
import QtQuick.Controls 2.15
import QtQuick.Window 2.12
Window {
width: 640
height: 480
visible: true
ListView {
id: list
anchors.fill: parent
model: ListModel {
id: listView
ListElement { name: "Element 1" }
ListElement { name: "Element 2" }
ListElement { name: "Element 3" }
ListElement { name: "Element 4" }
}
delegate: ItemDelegate {
property string textcolor: "black";
contentItem: Text {
id: content
width: parent.width
text: name
color: textcolor
}
onPressAndHold: { textcolor = "red"; }
}
}
}
我正在通过 onPressAndHold
事件更改单个元素的文本颜色。如何缩短事件发出前的持续时间?
我尝试使用 pressAndHoldInterval 但它似乎不存在 ItemDelegate.
区间是通过QStyleHints
的mousePressAndHoldInterval()
来建立的,这种情况下解决办法就是用setter这个貌似没有记录的
QGuiApplication app(argc, argv);
app.styleHints()->setMousePressAndHoldInterval(10);
我有以下示例 Qt Quick 应用程序:
import QtQuick 2.12
import QtQuick.Controls 2.15
import QtQuick.Window 2.12
Window {
width: 640
height: 480
visible: true
ListView {
id: list
anchors.fill: parent
model: ListModel {
id: listView
ListElement { name: "Element 1" }
ListElement { name: "Element 2" }
ListElement { name: "Element 3" }
ListElement { name: "Element 4" }
}
delegate: ItemDelegate {
property string textcolor: "black";
contentItem: Text {
id: content
width: parent.width
text: name
color: textcolor
}
onPressAndHold: { textcolor = "red"; }
}
}
}
我正在通过 onPressAndHold
事件更改单个元素的文本颜色。如何缩短事件发出前的持续时间?
我尝试使用 pressAndHoldInterval 但它似乎不存在 ItemDelegate.
区间是通过QStyleHints
的mousePressAndHoldInterval()
来建立的,这种情况下解决办法就是用setter这个貌似没有记录的
QGuiApplication app(argc, argv);
app.styleHints()->setMousePressAndHoldInterval(10);