PyQt5 – 隐藏单选按钮
在PyQt5中,隐藏单选按钮的方法一般有两种:使用setVisible()
函数和设置styleSheet。
使用setVisible()
函数
setVisible()
函数可以用来设置某个控件是否可见。通过将单选按钮的setVisible()
函数设置为False
,就可以将其隐藏。例如:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton, QVBoxLayout
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
maleRBtn = QRadioButton('Male', self)
femaleRBtn = QRadioButton('Female', self)
maleRBtn.toggled.connect(lambda:checked(maleRBtn))
femaleRBtn.toggled.connect(lambda:checked(femaleRBtn))
vbox = QVBoxLayout()
vbox.addWidget(maleRBtn)
vbox.addWidget(femaleRBtn)
self.setLayout(vbox)
self.setGeometry(300, 300, 300, 150)
self.setWindowTitle('Hide a Radio Button')
self.show()
def checked(rbtn):
if rbtn.isChecked():
print(rbtn.text())
if rbtn.text() == 'Female':
rbtn.setVisible(False)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
在上面的代码中,我们创建了两个单选按钮:一个是’Male’,一个是’Female’。将它们添加到了垂直布局中,设置了一个toggled
信号用于指定选项变化时的响应函数。然后对于响应函数,如果选中‘Female’,就将其对应的单选按钮隐藏。
使用setStyleSheet
setStyleSheet
方法可以用于更改控件的样式。通过将单选按钮的样式表设置为QRadioButton::indicator{width: 0;}
,就可以将其隐藏。例如:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton, QVBoxLayout
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
maleRBtn = QRadioButton('Male', self)
femaleRBtn = QRadioButton('Female', self)
maleRBtn.toggled.connect(lambda:checked(maleRBtn))
femaleRBtn.toggled.connect(lambda:checked(femaleRBtn))
vbox = QVBoxLayout()
vbox.addWidget(maleRBtn)
vbox.addWidget(femaleRBtn)
self.setLayout(vbox)
self.setGeometry(300, 300, 300, 150)
self.setWindowTitle('Hide a Radio Button')
self.show()
def checked(rbtn):
if rbtn.isChecked():
print(rbtn.text())
if rbtn.text() == 'Female':
rbtn.setStyleSheet('QRadioButton::indicator{width: 0;}')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
在上面的代码中,我们创建了两个单选按钮:一个是’Male’,一个是’Female’。将它们添加到了垂直布局中,设置了一个toggled
信号用于指定选项变化时的响应函数。然后对于响应函数,如果选中‘Female’,就将其对应的单选按钮隐藏。
这些都是隐藏单选按钮的方法,可以根据自己的需要进行选择和使用。