如何解决我想在程序开始时隐藏小部件
知道,我尝试使用pyqt制作GUI。 我想在程序开始时隐藏一些小部件,并在选择组合框时显示。 可以在程序开始时隐藏一些小部件。但是,当我选择组合框时,不可能显示特定的小部件。您能给我解决这个问题的建议吗?
class MyForm(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.oneLayerWidget.setVisible(False)
self.ui.twoLayerWidget.setVisible(False)
self.ui.layTypeComboBox.clear()
self.ui.layTypeComboBox.addItems(["Original Layer","Boolean Layer"])
self.ui.layTypeComboBox.currentIndexChanged.connect(self.layTypeSelEvent)
def layTypeSelEvent(self):
layType = str(self.ui.layTypeComboBox.currentText())
if layType == "Original Layer":
self.ui.twoLayerWidget.setVisible(False)
self.ui.oneLayerWidget.setVisible(True)
elif layType == "Boolean Layer":
self.ui.oneLayerWidget.setVisible(False)
self.ui.twoLayerWidget.setVisible(True)
解决方法
如果我正确理解您的要求,则希望这样的东西隐藏您的窗口小部件 self.ui.twoLayerWidget.hide()并显示您的窗口小部件 self.ui.twoLayerWidget.show()
它也类似于 setVisible ,请参见此link
或者也许您可以考虑使用stackedWidget,可以通过更改索引来更改要显示的小部件
self.ui.stackedWidget.setCurrentIndex(1)
,
php -S 127.0.0.1:8000 -t public/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。