我有ListView,如:
Rectangle {
width:(parent.width)
height: (parent.height/3)*2
border.color: "lightsteelblue"
border.width: 2
color:"lightgrey"
radius: 3
ListView {
id:malzemelist
spacing: dp(6)
clip:true
orientation:ListView.Vertical
flickableDirection: Flickable.VerticalFlick
boundsBehavior: Flickable.StopAtBounds
anchors.fill: parent
model:malzememodel
delegate: malzemecomp
focus:true
}
}
我有一个模型。我已经填充了我的模型当点击按钮时 model.append({mytext:" blalaladdd"})。我已将mytext设置为delage中的文本。我可以工作,但如果我的文本太长,换行模式不起作用。通过我设置wrapmode的方式:Text.Wrap.What是什么问题...
mydelegate代码是:
Component {
id:malzemecomp
RowLayout
{
height: dp(16)
width: parent.width
Text {
id: malzemeresultxt
font.pixelSize: dp(12)
text:malzeme
wrapMode: Text.Wrap
width: parent.width-dp(17)
}
Image {
id: maldeleteimg
height: dp(16)
width: dp(16)
fillMode: Image.PreserveAspectFit
source: "/Images/rejectmalzeme.png"
Layout.alignment: Qt.AlignRight
MouseArea {
anchors.fill: parent
onClicked: {
console.log(malzememodel.count+"/"+index);
TaskResult.taskresult.malzemeler.splice(index,1);
malzememodel.remove(index);
var seri=TaskResult.taskresult.serilaze();
console.log(seri);
}
}
}
}
}
答案 0 :(得分:0)
使用Layout.xxx
时,您应该使用width
属性而不是height
/ anchors
/ RowLayout
。从width
删除您的Text
媒体资源,并使用之前宽度值的Layout.maximumWidth
,或者只放Layout.fillWidth: true
。