使用 PyQT 更改标签可见性

Changing a labels visibility using PyQT

我在 QtDesigner 中创建了一个表单,并使用 PyQt 将其转换为 python 文档。在我的 QtDesigner 文档中,我添加了显示为 "You have successfully sent in the form" 的标签。我想要做的是隐藏这个标签,直到提交按钮被点击。由于 PyQt 文档的复杂格式,我很苦恼。

这是提交和标签的代码(submitButton,label_3):

self.submitButton = QtGui.QPushButton(Form)
self.submitButton.setObjectName(_fromUtf8("submitButton"))
self.verticalLayout.addWidget(self.submitButton)
class Ui_Form(QtGui.QWidget):
def setupUi(self, Form):
self.label_3 = QtGui.QLabel(Form)
    self.label_3.setStyleSheet(_fromUtf8("QLabel\n"
"{\n"
"   font: bold 14pt \"helvetica\";\n"
"   color: darkgreen;\n"
"}"))
    self.label_3.setScaledContents(False)
    self.label_3.setWordWrap(False)
    self.label_3.setObjectName(_fromUtf8("label_3"))
    self.verticalLayout.addWidget(self.label_3)
    self.horizontalLayout.addLayout(self.verticalLayout)

    self.retranslateUi(Form)
    QtCore.QMetaObject.connectSlotsByName(Form)

这是我的大致操作(我知道代码有误,但希望它能帮助您理解我的问题。

label_3.hide() == True
if submitButton.clicked
    label_3.show() == True

您从哪里粘贴这两个代码片段?在你的主窗口初始化?不管它是什么,您可能希望在创建按钮后立即将其隐藏:

self.label_3 = QtGui.QLabel(Form)
self.label_3.hide()

并将按钮的 clicked signal 连接到标签的 show() 方法:

self.submitButton.clicked.connect(self.label_3.show)