QGroupBox類可實現(xiàn)分組功能。 其繼承層次結構如下所示:
(QObject, QPaintDevice) - QWidget - QGroupBox
構造函數:
QGroupBox([QWidget parent = None])
QGroupBox( QString text[, QWidget parent = None])
父控件parent為可選參數。text為顯示在控件上部邊框的標題文字,可在標題文字的某個字母前加上“&”來指定快捷鍵。使用方法參見以下代碼:
from PyQt5 import QtWidgets
import sys
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()
window.setWindowTitle("QGroupBox")
window.resize(200, 80)
mainbox = QtWidgets.QVBoxLayout()
radio1 = QtWidgets.QRadioButton("&Yes")
radio2 = QtWidgets.QRadioButton("&No")
box = QtWidgets.QGroupBox("&Do you know Python?") # 創(chuàng)建QGroupBox
hbox = QtWidgets.QHBoxLayout() # 放到box中的QHBoxLayout容器
hbox.addWidget(radio1) # 添加要成組的組件radio1
hbox.addWidget(radio2) # 添加要成組的組件radio2
box.setLayout(hbox) # 將hbox布局到box
mainbox.addWidget(box) # 將box添加到主窗口
window.setLayout(mainbox) # 將mainbox布局到窗口
radio1.setChecked(True) # 設置radio1為選中狀態(tài)
window.show()
sys.exit(app.exec_())
QGroupBox類支持以下方法(只列出基本方法 - 完整方法列表,請參閱http://doc.qt.io/qt-5/qgroupbox.html):
setTitie (text) - 設置標題文字;
title( )-返回標題文字;
setAlignment(alignment) - 設置標題文字的水平對齊方式;
alignment( ) - 返回標題文字的水平對齊方式;
setcheckable(flag) - 如果flag為True,標題文字前有一選擇框。如果選擇框為選中狀態(tài),則QGroupBox組件可用;否則,不可用。
isCheckable( ) - 返回標題文字前是否有選擇框的標志。True:有;False:無。
setChecked( flag ) - 如果flag為True,標題文字前的選擇框為選中狀態(tài);否則,為非選中狀態(tài)。
isChecked( ) - 返回標題文字前選擇框的選中狀態(tài)。
setFlat( flag )- 如果flag為True,僅上邊框顯示;否則,四周邊框均顯示。
isFlat( ) - 如果僅上邊框顯示,返回True;否則,返回False。
QGroupBox的信號有:
clicked(Flagstatus) - 用鼠標點擊標題文字前的選擇框時產生。但用setChecked( )函數時不會產生;
toggled(Flagstatus) - 如果QGroupBox組件為可選擇狀態(tài),則狀態(tài)切換時產生此信號。