PyQt5系列文章
效果图
完整代码
import sys
from PyQt5.QtWidgets import QRadioButton,QGroupBox,QHBoxLayout,QWidget,QApplication,QMainWindow
class QGroupBoxDemo(QMainWindow):
def __init__(self):
super(QGroupBoxDemo, self).__init__()
#设置窗口大小
self.resize(400, 150)
#设置窗口标题
self.setWindowTitle("QGroupBoxDemo")
groupBox = QGroupBox('性别')
radio1 = QRadioButton('男')
radio2 = QRadioButton('女')
radio1.setChecked(True)
hlayout = QHBoxLayout()
groupBox.setLayout(hlayout)
hlayout.addWidget(radio1)
hlayout.addWidget(radio2)
#创建水平布局
layout = QHBoxLayout()
layout.addWidget(groupBox)
mainFrame = QWidget()
mainFrame.setLayout(layout)
self.setCentralWidget(mainFrame)
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QGroupBoxDemo()
main.show()
sys.exit(app.exec_())
其中最关键的代码是
groupBox.setLayout(hlayout)
QGroupBox
有自己的布局,因此需要创建布局控件hlayout
并设置到QGroupBox
中,然后把需要放到QGroupBox
的控件添加到该布局hlayout
中。
groupBox = QGroupBox('性别')
这里创建QGroupBox
对象,并把标题作为参数传入其中,然后把新建的QGroupBox
对象添加到主窗口的布局控件中。
layout.addWidget(groupBox)