qml - QML ToolButton 图标和文本对齐
问题描述
这是我使用 ToolButton 作为委托的一种方式:
import QtQuick 2.11
import QtQuick.Controls 2.4
ListView {
id : menuButtonslayout
anchors.top : menuHeader.bottom
anchors.left: menuHeader.left
height : (menuContainerComponentItem.height - menuHeader.height)*0.6
width : menuHeader.width
model: menuButtonsIdsModel
delegate : Component {
Item {
height : menuButtonslayout.height*0.15
width : menuButtonslayout.width
ToolButton {
anchors.fill: parent
icon.source: menuItemIcon
text : qsTr(menuItemName)
font.family: "Helvetica"
font.bold: true
antialiasing: true
}
}
}
}
如何指定按钮文本和图标对齐方式?我没有看到任何属性。默认情况下,图标和标签在按钮内居中。我希望它们以 RowLayout 方式对齐。
解决方案
由于该contentItem
属性,可以修改内容的呈现(来源:https ://doc.qt.io/qt-5/qtquickcontrols2-customize.html#customizing-toolbutton )。
ToolButton {
id: control
anchors.fill: parent
icon.source: menuItemIcon
text: qsTr(menuItemName)
font.family: "Helvetica"
font.bold: true
antialiasing: true
contentItem: Item {
Row {
//anchors.horizontalCenter: parent.horizontalCenter
spacing: 5
Image {
source: control.icon.source
width: control.icon.width
height: control.icon.height
anchors.verticalCenter: parent.verticalCenter
}
Text {
text: control.text
font: control.font
anchors.verticalCenter: parent.verticalCenter
}
}
}
}
推荐阅读
- php - 为什么在 Laravel 5.6 中没有突出显示当前的引导菜单?
- javascript - 如何以引导程序 ngb-tabset 的角度 6 以编程方式加载选项卡
- windows - 使用 bazel 在 Windows 上构建 tensorflow r1.12 mkl,导致链接错误
- node.js - Angular 2文件上传错误与node.js
- excel - Excel最小化时如何自动输入数据?
- python-3.x - "__new__" 创建一个无限递归循环
- javascript - Outlook 桌面应用程序加载项,用于将邮件地址插入 Outlook 新邮件到地址栏
- objective-c - 通过 iOS 应用程序中的代理引导流量
- php - 如何使用php发送包含其他输入的表单的可排序列表值
- java - 获取firebase数据时出现空指针异常