是否可以显示QML控制边界



开发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软件包。

相关内容

  • 没有找到相关文章

最新更新