簡體   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