0
我有QML ApplicationWindow
命名为ueWindowMain
并在main.qml
中声明。它里面有QML StatusBar
命名ueStatusBar
有两个图标,命名为ueStatusIndicatorDatabaseConnected
和ueStatusIndicatorBluetoothPrinterConnected
,表现出一些州和一个可检查的QML Button
,命名ueStaffSelector
:以编程方式获取物体坐标
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.0
import QtQuick.Controls.Styles 1.4
import si.mikroelektronika 1.0
import "gui/items"
ApplicationWindow
{
id: ueWindowMain
title: qsTr("uBlagajna Mobile Client ver 0 revision 101")
width: Screen.desktopAvailableWidth
height: Screen.desktopAvailableWidth
visible: true
opacity: 1.0
contentOrientation: Qt.LandscapeOrientation
color: "black"
statusBar: StatusBar
{
id: ueStatusBar
height: 96
clip: true
antialiasing: true
style: StatusBarStyle
{
background: Rectanglstrong texte
{
width: parent.width
height: parent.height
color: "#303030"
} // background
} // style
RowLayout
{
spacing: 8
UeDatabaseStatusIndicator
{
id: ueStatusIndicatorDatabaseConnected
Layout.minimumWidth: 96
Layout.preferredWidth: 96
Layout.maximumWidth: 96
Layout.fillHeight: true
ueParamImageStatusOn: "qrc:///ueIcons/icons/ueDbConnectionOk.png"
ueParamImageStatusOff: "qrc:///ueIcons/icons/ueDbConnectionError.png"
} // ueStatusIndicatorDatabaseConnected
UeBluetoothStatusIndicator
{
id: ueStatusIndicatorBluetoothPrinterConnected
Layout.minimumWidth: 96
Layout.preferredWidth: 96
Layout.maximumWidth: 96
Layout.fillHeight: true
ueParamImageStatusOn: "qrc:///ueIcons/icons/ueBtConnectionOk.png"
ueParamImageStatusOff: "qrc:///ueIcons/icons/ueBtConnectionError.png"
} // ueStatusIndicatorBluetoothPrinterConnected
UeStaffSelector
{
id: ueStaffSelector
Layout.minimumWidth: 96
Layout.preferredWidth: 96
Layout.maximumWidth: 96
Layout.fillHeight: true
} // ueStaffSelector
} // RowLayout
} // ueStatusBar
} // ueWindowMain
现在,里面StatusBar
这三个项目使用RowLayout
定位。我如何在QML代码中计算它们的坐标,即以编程方式?
你是否在搜索坐标w.r.t.父容器/主窗口?如果是这种情况,请看[这个答案](http://stackoverflow.com/a/28415588/2538363)。 – BaCaRoZzo
@BaCaRoZzo不,我正在'StatusBar'的'RowLayout'内搜索项目的坐标。 – KernelPanic
你仍然可以使用这些功能,看看答案。 – BaCaRoZzo