【发布时间】:2016-06-18 11:34:51
【问题描述】:
我正在尝试在 QML 中创建一个类似控件的按钮,该按钮显示图像及其下方的一些文本。我目前的尝试如下:
Item {
id: button
width: 30
height: 100
property alias text: buttontext
signal clicked
Image {
id: visualImage
anchors.fill: parent
source: "qrc:/images/test.png"
}
Text {
id: buttontext
font.bold: true
text: "Test"
}
}
不幸的是,这有很多问题。所以,目前,我正在指定项目的宽度和高度,但这应该根据图像和文本的宽度和高度来计算。此外,文本显示在图像的顶部和内部,我想将文本放置在图像下方,以图像水平居中并有一些边距。
【问题讨论】:
-
有多种方法可以做你想做的事。最简单的方法是使用 qml 的
Button(Image和Text里面创建MouseArea(你可以指定z选项使Text在Image下绘制)。您也可以创建自己的组件,尽管在大多数情况下这可能有点过头了。 -
看看
Column,真的好用。将witdh:parent.width设置为图像和文本,并将horizontalAlignment: Text.AlignHCenter设置为文本:就是这样。 -
这是个好建议!
-
@BaCaRoZzo 我听从了你的建议,并且能够得到一些工作。你想把它写成答案,这样我就可以接受并给予你信任?