我想要在使用時禁用拖動我的列表視圖,同時移動光標並按住鼠標按鈕。我正在嘗試使用此命令來實現一些其他功能,例如多選。我只想要啓用滾動。 可滑動的屬性完全禁用了視圖的移動。有沒有解決方法?通過在移動光標時按住鼠標按鈕禁用拖動視圖
1
A
回答
1
我想有一些方法可以實現你所需要的,但是下面的解決方案是有效的。
的想法是具有MouseArea
並且信號onPressed
和onClicked
發射時interactive
屬性設置爲false
。應在0處理程序中再次將interactive
設置爲true
。
import QtQuick 2.5
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
ListModel {
id: listModel
ListElement {
name: "ttt"
number: "111"
}
ListElement {
name: "rrr"
number: "222"
}
ListElement {
name: "sss"
number: "333"
}
ListElement {
name: "xxx"
number: "444"
}
ListElement {
name: "yyy"
number: "555"
}
ListElement {
name: "zzz"
number: "666"
}
ListElement {
name: "aaa"
number: "777"
}
ListElement {
name: "bbb"
number: "888"
}
ListElement {
name: "ccc"
number: "999"
}
ListElement {
name: "ddd"
number: "011"
}
ListElement {
name: "eee"
number: "022"
}
ListElement {
name: "fff"
number: "033"
}
}
ListView {
id: myList
width: 180; height: 100
clip: true
Component {
id: contactsDelegate
Rectangle {
id: wrapper
width: 180
height: contactInfo.height
color: "lightblue"
Text {
id: contactInfo
text: name + ": " + number
color: "black"
}
MouseArea {
anchors.fill: parent
onPressed: {
myList.interactive = false
console.debug("onPressed")
}
onClicked: {
myList.interactive = false
console.debug("onClicked")
}
onReleased: {
myList.interactive = true
console.debug("onReleased")
}
}
}
}
model: listModel
delegate: contactsDelegate
focus: true
}
}
相關問題
- 1. AS3:通過鼠標拖動或按鍵移動
- 2. qt圖表按住鼠標中鍵移動視圖
- 3. 谷歌地圖,禁用通過鼠標拖動/平移
- 4. Fabric.js - 元素是未定義的,當我移動鼠標按住鼠標按鈕
- 5. Fabric.js - 不按住鼠標按鈕移動對象
- 6. 按住鼠標按鈕時更改mouseListener
- 7. WPF功能區按鈕鼠標移動時發光效果
- 8. 點擊並按住按鈕,同時拖動鼠標使值變大/變小
- 9. JTextField - 使用按鈕移動光標
- 10. 在移動鼠標並按住右鍵單擊按鈕時繪製線條
- 11. 按鈕在鼠標懸停上移動
- 12. 按住鼠標左鍵時更換鼠標光標?
- 13. 通過拖動鼠標滾動圖像
- 14. Qt:拖動時更改鼠標光標
- 15. 鼠標拖動時更改光標
- 16. 如何在拖動時禁用光標?
- 17. 如何在Java中按下鼠標按鈕時收聽鼠標移動事件
- 18. jquery ui不拖動鼠標按鈕的元素(按照遊標)
- 19. jquery移動按鈕圖標
- 20. 按下某個鍵時如何移動鼠標光標?
- 21. Telerik RadEditor在拖動時移動光標
- 22. Intellij IdeaVim:使用鼠標右鍵拖動上下移動光標
- 23. 只有當用戶按住鼠標左鍵時,才使鼠標移動火焰
- 24. 如何在按住鼠標的同時移動表單?
- 25. 鼠標移動-crosshair光標
- 26. 移動鼠標光標Javascript
- 27. 禁用按鈕鼠標超過效果
- 28. MFC鼠標移動/離開,將鼠標懸停在按鈕上
- 29. 鼠標按鈕按下div並移動鼠標更改滾動位置
- 30. 按下鼠標按鈕時監視鼠標座標
把'MouseArea'放在'Flickable'上面,然後把所有想要的交互處理回到'Flickable'本身。剩下的可以根據需要進行處理。應該管用。 – maxik
'flickableDirection:...'? –