Qt QML列表视图布局不调整大小
Posted
技术标签:
【中文标题】Qt QML列表视图布局不调整大小【英文标题】:Qt QML listview layout does not resize 【发布时间】:2019-05-02 12:27:29 【问题描述】:我正在尝试创建一个可以通过添加或删除行来扩展或缩短的列表视图。意识到这一点很简单,但问题是 ColumnLayout 似乎没有根据项目的新大小重新定位项目。
这是重现问题的最少代码
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12
import QtQuick.Window 2.2
ApplicationWindow
id: window
visible: true
width: 630
height: 891
ListModel
id: productModel
ListElement
description: "Test"
ListElement
description: "Other test"
ListModel
id: invoiceModel
ListElement
description: "Factuur 6419"
ListElement
description: "Factuur 6491"
ColumnLayout
width: 500
ExpandingTable
width: 500
model: productModel;
TextArea
placeholderText: "test"
ExpandingTable
width: 500
model: invoiceModel;
然后是一个名为 ExpandingTable.qml 的文件
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12
ListView
id: listView
height: contentHeight
interactive: false
delegate : RowLayout
width: parent.width;
TextField
text: description
Button
text: "-"
onClicked:
listView.model.remove(model.index)
Button
text: "+"
anchors.left: listView.right
anchors.bottom: listView.bottom
onClicked:
listView.model.append( description: "" )
我对线条特别不确定
listView.model.remove(model.index)
和
listView.model.append( description: "" )
以及它是否应该只是模型。或者实际上是 listview.model。
【问题讨论】:
【参考方案1】:您的问题与ColumnLayout
组件有关。只需将其更改为旧香草Column
并快乐。如需详细解释,请阅读类似问题:***
【讨论】:
以上是关于Qt QML列表视图布局不调整大小的主要内容,如果未能解决你的问题,请参考以下文章
使用自定义 QT 代码显示 QML 文件(实现调整大小/移动功能)