繁体   English   中英

pyQt QLayout问题

[英]pyQt QLayout issue

这让我有些疯狂。 希望有人可以帮我解决这个问题。 运行以下代码将导致第一个打印语句是一个列表,其中包含一个元素QVBoxLayout对象。 我设置两个对象进行layout为什么我只能得到一个?

第二个print语句给出两个对象QHBoxLayoutQPushButton QPushButton不是layout的孩子吗?

我希望layout.children()给我两个对象QPushButtonQVBoxLayoutself.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.

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