【问题标题】:PyQt displaying all marginsPyQt 显示所有边距
【发布时间】:2011-01-28 01:09:48
【问题描述】:

在我的应用程序中,我的小部件周围有太多空间,我想追踪哪些小部件导致了这个空间。空间内容的唯一来源是Margins吗? QBoxLayout 对象是否创建了额外的空间? matplotlib FigureCanvas 呢?

我的主要问题是:

是否有一个程序可以递归遍历显示边距和空间来源的 Qt 小部件树?

【问题讨论】:

    标签: python qt pyqt


    【解决方案1】:

    我不知道有这样的程序,但如果您使用 Qt Designer,您可以使用任何文本查看器打开 *.ui 文件并查找名称可疑的属性,例如“margin”或“spacing”。盒子布局也有它们,例如:

     <layout class="QVBoxLayout" >
      <property name="spacing" >
       <number>6</number>
      </property>
      <property name="leftMargin" >
       <number>6</number>
      </property>
      <property name="topMargin" >
       <number>6</number>
      </property>
      <property name="rightMargin" >
       <number>6</number>
      </property>
      <property name="bottomMargin" >
       <number>6</number>
      </property>
    

    如您所见,这里有很多额外的 6 像素边距和间距。一旦你弄清楚哪些属性会导致你的麻烦,只需将它们设置为零或合理的值。

    如果你不使用 Qt Designer,那就更难了。您仍然可以使用 Designer 创建一个示例 GUI,以帮助您找出罪魁祸首。然后你可以编写一段代码,遍历widget树并打印出这些属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 2013-05-12
      • 2019-02-08
      • 2020-09-30
      • 2014-12-21
      • 2023-04-02
      相关资源
      最近更新 更多