PyQt5是Python语言的GUI框架,是构建桌面应用程序的绝佳工具。在GUI中,标签/标识(Label)是非常常见的控件,它一般用于文字、图标、图片等的展示。但有时候,我们需要在程序运行的过程中隐藏这个标签,此时可以使用PyQt5的setHidden()方法。
关于label.setHidden()方法
label.setHidden()方法是一种PyQt5中用于控制标签控件是否显示的方法。这个方法需要一个Boolean类型的参数,如果参数为True,则标签控件会被隐藏;如果参数为False,则标签控件会被显示。
使用方法
在PyQt5中,可以使用以下代码来隐藏标签:
label.setHidden(True)
同样,如果你想要显示标签,可以使用以下代码:
label.setHidden(False)
需要注意的是,这个方法只对标签控件有效,并且该控件需要事先被创建并显示出来。
示例说明
以下是两条示例,演示了如何在PyQt5中使用setHidden()方法来控制标签控件的显示和隐藏。
示例1
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout, QPushButton
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('PyQt5 - setHidden方法')
self.setGeometry(300, 300, 300, 200)
label = QLabel('隐藏/显示标签', self)
label.move(100, 30)
button = QPushButton('显示/隐藏', self)
button.move(100, 70)
button.clicked.connect(lambda: label.setHidden(not label.isHidden()))
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
这个示例中,我们创建了一个QWidget窗口,并在其上面添加了一个标签和一个按钮。在按钮的点击事件中,我们会将标签的显示状态切换一次。
示例2
import sys
from PyQt5.QtWidgets import QApplication, QLabel, QGridLayout, QPushButton
class Example:
def __init__(self):
self.app = QApplication(sys.argv)
self.initUI()
def initUI(self):
self.window = QLabel()
self.window.setWindowTitle('PyQt5 - setHidden方法')
self.window.setGeometry(300, 300, 300, 200)
label1 = QLabel('标签一', self.window)
label1.move(20, 20)
label2 = QLabel('标签二', self.window)
label2.move(20, 50)
label3 = QLabel('标签三', self.window)
label3.move(20, 80)
button = QPushButton('隐藏/显示', self.window)
button.move(20, 110)
button.clicked.connect(lambda: self.toggleLabel(label2))
layout = QGridLayout()
layout.addWidget(label1, 0, 0)
layout.addWidget(label2, 1, 0)
layout.addWidget(label3, 2, 0)
layout.addWidget(button, 3, 0)
self.window.setLayout(layout)
self.window.show()
def toggleLabel(self, label):
label.setHidden(not label.isHidden())
def run(self):
sys.exit(self.app.exec_())
if __name__ == '__main__':
ex = Example()
ex.run()
这个示例中,我们创建了一个QLabel窗口,并在其上面添加了三个标签和一个按钮。在按钮的点击事件中,我们会将标签2的显示状态切换一次。同时,我们还展示了如何使用布局来管理标签控件的位置。