2017-07-13 4 views
0

私はメッセンジャーを持っています。私は自分のメッセージを左側の右側のメッセージとクライアントのメッセージにします。メッセージはリストビューに追加されます。QMLリストビューのアンカー

ListView { 
      id: listview 
      Layout.fillWidth: true 
      Layout.fillHeight: true 
      model: messageModel 
      delegate: ItemDelegate 
      { 
       text: model.message 
       checked: true 
       font.family: "Comic Sans MS" 
       font.pixelSize: 15 
       anchors.right: parent.right 
      } 
     } 

私のメッセージは正しいです。

  TextField { 
       id: textField 
       Material.accent: Material.Purple 
       font.family: "Comic Sans MS" 
       Layout.fillWidth: true; Layout.fillHeight: true 
       placeholderText: "Write a message..." 
       background: null 
       focus: true 
       Keys.onPressed: { 
        if (event.key == Qt.Key_Enter && textField.text != "") { 
         listview.anchors.right = parent.right 
         messageModel.append({message: textField.text}); 
         textField.text = "" 
         listview.positionViewAtEnd() 
        } 
       } 
      } 

listview.anchorsは何もしませんか?

答えて

0

デリゲートを親にアンカーします。例:

ListView { 
    anchors.fill: parent 
    anchors.margins: 10 
    spacing: 2 
    model: ListModel { 
     ListElement { target: 1; message: "message1" } 
     ListElement { target: 1; message: "messageeeee2" } 
     ListElement { target: 2; message: "messageee3" } 
     ListElement { target: 2; message: "messageeeeeeeeeeee4" } 
     ListElement { target: 1; message: "messageeeeee5" } 
    } 
    delegate: Rectangle { 
     height: 30 
     width: txt.width + 10 
     anchors.right: target == 1 ? undefined : parent.right 
     anchors.left: target == 2 ? undefined : parent.left 
     radius: 5 
     border { 
      width: 2 
      color: "orange" 
     } 
     Text { 
      id: txt 
      text: message 
      anchors.centerIn: parent 
     } 
    } 
} 
+0

私は知っていますが、アンカーにアクセスしたい場合はどうすればよいですか。デリゲートの外から? – Someone

+0

コード例、 – folibis

+0

上記のコード!私はif節でListviewにアクセスしたい。 – Someone

関連する問題