我目前正在寻找一种智能的方法,通过使用PyQt库开始在PyCharm中制作的游戏,我想尝试隐藏几个小部件,或者完成布局,但函数.hide()不能完成布局。
是否存在完全隐藏布局的代码,或者是否隐藏了该框中的所有窗口小部件?
如果答案是后者,我怎样才能让我更容易,而不是浏览每个小部件并向其添加.hide()扩展名。我可以在某种父级中收集所有这些小部件,然后只收集parent.hide()以及parent.show()吗?
代码看起来像这个atm:
playerbox = QGridLayout()
playerbox.addWidget(self.player1, 0, 0)
playerbox.addWidget(self.player2, 0, 1)
playerbox.addWidget(self.stake, 1, 0)
playerbox.addWidget(self.money, 1, 1)
playerbox.addWidget(betButton, 2, 0)
playerbox.addWidget(foldButton, 2, 1)
playerbox.addWidget(bettingtext,3,0)
并且播放器框应该是游戏中显示多个项目的框。我只是希望这个盒子在游戏开始之前不显示任何内容(这是在用户按下开始时完成的,但这已经处理过了。)
提前致谢!
答案 0 :(得分:0)
我喜欢这个:
[playerbox.itemAt(i).widget().hide() for i in
range(playerbox.rowCount()*playerbox.columnCount()) if
playerbox.itemAt(i)]
if
子句是必需的,因为您的网格中可能有空白点,然后itemAt()
会返回None
。