繁体   English   中英

setMargin() 方法不适用于 Qt Python 中的 QVBoxLayout

[英]setMargin() method not worked for QVBoxLayout in Qt Python

我改用 PySide,因此在我的程序中,

from PySide.QtGui import QVBoxLayout

通常它适用于导入,但是当我调用方法 .setMargin() 作为教程时: https://doc.qt.io/qtforpython/tutorials/expenses/expenses.html#right-side-layout ,我收到一个错误:

self.right = QVBoxLayout()
self.right.setMargin(10)

AttributeError: 'PySide.QtGui.QVBoxLayout' 对象没有属性 'setMargin'

我试图在库中找到 setMargin() ,它出现在这里: https://doc.qt.io/qtforpython/PySide2/QtWidgets/QLayout.html#PySide2.QtWidgets.PySide2.QtWidgets.QLayout.setMargin 这意味着我可以通过从 Pyside.QtGui 导入 QLayout 来调用它,但这不起作用。 cmd说:

NotImplementedError: 'QLayout' 代表一个 C++ 抽象类并且不能被实例化

你能告诉我如何在我的情况下通过另一种方式使用 setMargin() 吗?

setMargin()在 Qt4 (PySide setMargin()中不存在,它存在于 Qt5 的初始版本中,但目前已弃用,您必须使用setContentsMargins()方法:

self.right = QVBoxLayout()
self.right.setContentsMargins(10, 10, 10, 10)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM