开发QML应用程序时,我认为如果能够设置一些设置以概述所有视觉元素边界,则有时会很有用。例如,QT快速控件中的控件2.x可能由几个部分组成,例如背景,contentItem,指示器等。调整这些部分的大小,我希望看到这些部分的边界。
qt/qml?
三年后,人们(特别是:me)仍在进行有关此的网络搜索:)
就像commenter @dukes0me所建议的那样,我已经通过将边界添加到即时添加边框,然后将其从最终代码中删除。
喜欢OP,我现在厌倦了这样做。
我最近提出的一种策略是在我的项目中添加DebugRectangle.qml
自定义元素:
import QtQuick 2.12
Rectangle {
property var toFill: parent // instantiation site "can" (optionally) override
property color customColor: 'yellow' // instantiation site "can" (optionally) override
property int customThickness: 1 // instantiation site "can" (optionally) override
anchors.fill: toFill
z: 200
color: 'transparent'
border.color: customColor
border.width: customThickness
}
然后,我可以将其添加到现有元素中,以调试它们:
Label {
text: 'Lorem ipsum dolor sit amet'
}
Label {
text: 'quis nostrud exercitation'
DebugRectangle {} // Adds "debug border" to this Label
}
,当我完成后,我甚至可以将嵌套的DebugRectangle
留在代码中,但可以像这样切换其可见性:
Label {
text: 'quis nostrud exercitation'
DebugRectangle {
visible: false
}
}
在GitHub上共享的完整示例项目。
有一个称为gammaray的工具,该工具(除其他外)允许研究QTquick 2应用程序,请参见:http://doc.qt.io/gammaray/gammaray-qtquick2-inspector.html
设置说明在这里:https://github.com/kdab/gammaray
如果您正在运行Linux,则很可能您的发行版已经寄出了Gammaray软件包。