使用PyQT更改标签可见性

Dav*_*vey 3 python pyqt

我在QtDesigner中创建了一个表单,并使用PyQt将其转换为python文档.在我的QtDesigner文档中,我添加了标记为"您已在表单中成功发送".我想要做的是隐藏此标签,直到单击提交按钮.由于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)
Run Code Online (Sandbox Code Playgroud)

这是我正在做的大概(代码是错误的,我知道,但希望它可以帮助你理解我的问题.

label_3.hide() == True
if submitButton.clicked
    label_3.show() == True
Run Code Online (Sandbox Code Playgroud)

Chr*_*son 6

你从哪里粘贴这两个代码片段?在你的MainWindow初始化?无论是什么,您可能希望在创建按钮后立即隐藏它:

self.label_3 = QtGui.QLabel(Form)
self.label_3.hide()
Run Code Online (Sandbox Code Playgroud)

并将按钮的单击信号连接到标签的show()方法:

self.submitButton.clicked.connect(self.label_3.show)
Run Code Online (Sandbox Code Playgroud)