在QML中按下时,Tableview行应更改

时间:2019-03-13 11:48:44

标签: qt qml qtquick2 qtableview

我的代表是tableview中的图像,如何更改所选行的图像 onPressed和onReleased应该回到原始状态。

itemDelegate: Image
            {
                id:item_id
                height: (tableView.height/(listmodel.count < 4 ? listmodel.count : 4))
                source:
                {
                    var activeRow = tableView.currentRow === styleData.row
                    (activeRow ? Image 1 : styleData.row % 2 ? (image 2): (image 3))
                }

                MouseArea
                {
                    id:table_mouse_id
                    anchors.fill: parent

                    onPressed:
                    {
                       source = image 4
                    }

                    onReleased:
                    {
                        tableView.currentRow = styleData.row
                    }
                }

1 个答案:

答案 0 :(得分:1)

您可以使用pressed的{​​{1}}属性:

MouseArea

重要说明:您应该删除source: { var activeRow = tableView.currentRow === styleData.row; (activeRow ? table_mouse_id.pressed ? image4 //pressed : Image1 //active : styleData.row % 2 ? (image2) //odd : (image3)) //even } 处理程序,因为这将覆盖绑定(这也可能是它在当前设置中不起作用的原因)

相关问题