另请参阅相关问题:How do you debug Qt layout problems
我正在尝试布局一些复杂的小部件层次结构,并且遇到了一些比我预期的更紧密或更远的问题。我发现一种非常有用的技术是为样式表创建一个样式表,该样式表为层次结构中不同点的小部件提供不同背景和边框颜色的列表。我还添加了一个QFileSystemWatcher
,以在每次保存样式表时重新加载它,从而可以快速进行更改而无需重建。
但是,我一直认为必须有更好的方法。查看诸如Firefox的Web开发人员工具栏之类的工具,这些工具将执行诸如标记边框或显示控件层次结构之类的操作。是否有任何工具或库可用于Qt应用程序?
2016年5月5日更新
我发现诊断间距问题的最简单,最有用的方法之一是根据QLayouts转储小部件层次结构。我创建了一些示例代码,其中嵌入了有关尺寸提示,间隔项,填充和内容边距的信息:https://gist.github.com/pjwhams/6ebc040db3ab55615eafd831e184e39c
另一个工具:https://github.com/robertknight/Qt-Inspector
最佳答案
我在另一个线程中遇到了一个相关的后续问题,Dmitry提出了一个很好的方法,导致了一个很好的解决方案:Drawing an overlay on top of an application's window
编辑:我还发现了 QLayout::itemAt()
文档中隐藏的有用技术,该技术显示了如何在布局中遍历QLayoutItems
并绘制其矩形
关于qt - 是否有诊断Qt布局和间距问题的有用工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5419942/