[英]pyQt QLayout issue
这让我有些疯狂。 希望有人可以帮我解决这个问题。 运行以下代码将导致第一个打印语句是一个列表,其中包含一个元素QVBoxLayout
对象。 我设置两个对象进行layout
为什么我只能得到一个?
第二个print语句给出两个对象QHBoxLayout
和QPushButton
。 QPushButton
不是layout
的孩子吗?
我希望layout.children()
给我两个对象QPushButton
和QVBoxLayout
, self.children()
给我一个对象QHBoxLayout
。 我想念什么?
from PySide.QtGui import *
import sys
class Main(QWidget):
def __init__(self, parent=None):
super(Main, self).__init__(parent)
layout = QHBoxLayout(self)
layout.addWidget(QPushButton("foo"))
layout.addLayout(QVBoxLayout())
print layout.children()
print self.children()
app = QApplication([])
main = Main()
main.show()
sys.exit(app.exec_())
我想文档中的注释足够清楚地解释了这一点:
注意:布局中的窗口小部件是其上安装了布局的窗口小部件的子级,而不是布局本身。 小部件只能将其他小部件作为父级,而不能将其作为布局。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.