python - PyQt4 pyuic4 spacerItem 作为类的成员

标签 python qt pyqt pyqt4 pyuic

我不知道如何强制 pyuic4 生成 QSpacerItem 作为 .py 文件中的类成员。其他所有内容都作为类的成员生成,例如 gridLayout

self.gridLay = QtGui.QGridLayout()

除了 QSpacerItem 之外的所有内容

spacerItem = QtGui.QSpacerItem(20, 0, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
self.gridLay.addItem(spacerItem, 0, 2, 1, 1)

知道如何纠正这个问题吗?

PS 我不会问如何手动纠正它;)。

最佳答案

您无法通过 pyuic4 接口(interface)更改此行为。

但是,pyuic4 是用 PyQt 编写的,因此如果您想进行黑客攻击,相关代码位于 PyQt4/uic/uiparser.py 中。具体来说,是 UIParser 类的 createSpacersetupObject 方法。 setupObject 方法通常用于为对象创建属性,但显然 createSpacer 方法当前不使用它。

我不确定为什么现在要这样做。要获得明确的答案,您可能需要通过 PyQt Mailing List 询问项目维护人员 (Phil Thompson)。 .

另请注意,如果您知道间隔符在网格布局中的位置,则可以按如下方式访问它:

self.gridLay.itemAtPosition(row, column).spacerItem()

关于python - PyQt4 pyuic4 spacerItem 作为类的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8781229/

相关文章:

python - 从谷歌财经下载股票数据

c++ - 我怎样才能从另一个 QVariantMap 影响一个 QVariantMap?

c++ - 无法打开输出文件 debug\serbest.exe : Permission denied

python - 使 : *** No rule to make target 'qt5py3' . 停止

python - 数据未显示在表中

python - 将 csv 读取到 dicts 的 dict

python - 无法以完全相同的格式存储或打印json数据

python - 位置权限弹出窗口

python - PyQT 读取文本文件

python - 如何将 GroupBox 放入 GridLayout 中? PyQt4