微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用QT Quick Contol 2.0在TableView中为行赋予边框颜色?

如何解决如何使用QT Quick Contol 2.0在TableView中为行赋予边框颜色?

表1

            Item {
                id: control
                TableView {
                    id: table1
                    delegate: Rectangle {
                        color: control.selected === row ? "pink" : "white"
                        border.color: control.selected === row?"lightblue":"transparent"
                        border.width: 2
                        Text {
                            text: display
                            color: "black"
                        }

                    }
                }
            }

表2

    TableView{
        id :tableView
          headerDelegate:Rectangle{
                color : "transparent"
               Text
                {
                    text: styleData.value
                }
           }

       rowDelegate: Rectangle {
           color : styleData.selected ?  "pink" : "white"
           border.color: styleData.selected ?"lightblue":"transparent"
       }
       itemDelegate: Rectangle{
           color : "transparent"
           Text {
                color : "black"
                text: styleData.value
            }
       }

         style: TableViewStyle{
             backgroundColor : "transparent"

         }
    }
}

效果

使用QtQuick Controls 1.0版的rowDelegate可以轻松实现。 我不知道在选择行时为行项目设置边框颜色。 似乎只能为连续的每个项目设置边框颜色。

解决方法

我终于和其他四个矩形一起做到了:)
像这样:

Rectangle { anchors.top: parent.top; height: item_table.borderWidth; width: parent.width; color: isSelect()?borderColor:"transparent"}
Rectangle { anchors.bottom: parent.bottom; height: item_table.borderWidth; width: parent.width;  color: isSelect()?borderColor:"transparent"}
Rectangle { anchors.left:  parent.left; height: parent.height; width: item_table.borderWidth; color: borderColor; visible: (isSelect()&&column === 0) }
Rectangle { anchors.right: parent.right; height: parent.height; width: item_table.borderWidth; color: borderColor; visible: (isSelect()&&column === tableView.columns - 1) }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。