QtGui 是 python和Qt结合的编程
Qt 网站教学 无需翻墙
外网教学
组合选项框
self.groupBox = QtGui.QGroupBox("body part")
把所有选项加到组合框内一起布局
选项框
checkBox1 = QtGui.QRadioButton("chest")
checkBox1.setChecked(False)
checkBox2 = QtGui.QCheckBox("chest_lateral")
checkBox2.setChecked(False)
QRadio和QCheckbox的区别一个是圆框一个是方框 都是单选
setChecked() 顾名思义设置了选项的状态,True选中,False不选中
setText() 设置文本
isChecked() 检查是否被选中
选项框的大小
checkBox2.setStyleSheet("QCheckBox::indicator { width: 40px; height: 40px;}")
进行布局
在GUI上加上小工具
用 .resize() and .move() 去修改大小和位置
layout = QtGui.QGridLayout()
layout.addWidget(checkBox1,0,0)
layout.setSpacing(10)
layout.setVerticalSpacing(30)
layout.setHorizontalSpacing(30)
QGridLayout() 进行页面布局,参数为选项框,行,列
并通过addWIdget() 方法添加到布局中
Spacing() 设置不可拉伸空间
表单布局
通用布局管理器
layout = QtGui.QVBoxLayout()
PyQt提供的四个通用布局管理器类:
- QHBoxLayout() 在水平框中排列小部件。
- QVBoxLayout () 在垂直框中排列小部件。
- QGridLayout() 将小部件排列在网格中。
- QFormLayout() 将小部件安排在两列中。
将输入选项保存
def _get_status(self):
status = {}
for i in range(self.groupBox.layout().count()):
box = self.groupBox.layout().itemAt(i).widget()
status[box.text()] = box.isChecked()
status['comments'] = self.editText.text()
return status