我正在关注YouTube上的this教程,该人员设置了TextField
来填充RowLayout
的宽度。但是,它似乎对我不起作用。我尝试在Layout.fillWidth
上使用CheckBox
,它似乎工作得很好,但似乎不想在TextField
上工作。这是我的代码:
main.qml:
import QtQuick 2.9
import QtQuick.Controls 2.2
ApplicationWindow
{
visible: true;
width: 640;
height: 480;
title: qsTr("Tabs");
ToDoList
{
anchors.centerIn: parent;
}
}
ToDoList.qml:
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.3
Frame
{
ListView
{
// Using implicit width and height allows the frame to automatically scale to the size of the list view
implicitWidth: 250
implicitHeight: 250
clip: true
model: 100
delegate: RowLayout {
width: parent.width
CheckBox {}
TextField
{
Layout.fillWidth: true
}
}
}
}
这是我的头像的屏幕截图
我做错了什么?
我不知道这是否与它有关,但是我做了一个“ Qt Quick Application-Swipe”而不是“ Qt Quick Controls 2 Application”,因为该选项对我不可用。预先感谢您的帮助。
编辑:我已编写了逐步说明,以在下面复制该问题。
将选项设置为没有版本控制,然后单击“完成”
从“项目”窗格中删除“ Page1Form.ui.qml”和“ Page2Form.ui.qml”
import QtQuick 2.9
import QtQuick.Controls 2.2
ApplicationWindow
{
visible: true;
width: 640;
height: 480;
title: qsTr("Tabs");
ToDoList
{
anchors.centerIn: parent;
}
}
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.3
Frame
{
ListView
{
// Using implicit width and height allows the frame to automatically scale to the size of the list view
implicitWidth: 250
implicitHeight: 250
clip: true
model: 100
delegate: RowLayout {
width: parent.width
CheckBox {}
TextField
{
Layout.fillWidth: true
}
}
}
}
答案 0 :(得分:0)
宽度设置正确。问题出在TextField
样式上。您可以通过设置背景来检查它,例如
TextField
{
Layout.fillWidth: true
background: Rectangle {
color: "red"
}
}
或者只是开始在包含和不包含Layout.fillWidth: true