一、容器控件
容器控件可以将窗口中的控件进行分组处理,使窗口的分类更加清晰,常用的容器控件有 QGroupBox 分组框、QTabWidget 选项卡和 QToolBox 工具盒。
我们可以在终端中使用 pip 安装 pyside 模块。
pip install pyside6
二、分组框控件
QGroupBox 控件,又称为分组框控件,它主要为其它控件提供分组,并且按照控件的分组来细分窗口的功能。该类的常用方法如下:
方法 | 说明 |
---|---|
setTitle(title) | 设置分组标题 |
setAlignment(alignment) | 设置对齐方式,参数如下: - Qt.AlignmentFlag.AlignLeft :左对齐- Qt.AlignmentFlag.AlignRight :右对齐- Qt.AlignmentFlag.AlignTop :顶部对齐- Qt.AlignmentFlag.AlignBottom :底部对齐- Qt.AlignmentFlag.AlignJustify :两端对齐- Qt.AlignmentFlag.AlignCenter :居中对齐- Qt.AlignmentFlag.AlignHCenter :水平居中对齐- Qt.AlignmentFlag.AlignVCenter :垂直居中对齐 |
setFlat(flat) | 设置是否以扁平样式显示 |
QGroupBox 控件常用信号及其说明如下:
clicked(checked=false) # 被点击时发射信号
toggled(arg__1) # 切换时发射信号
import sys
from PySide6.QtWidgets import QApplication, QMainWindow
from PySide6.QtWidgets import QGroupBox
from PySide6.QtCore import Qt
if __name__ == "__main__":
# 1.创建一个QApplication类的实例
app = QApplication(sys.argv)
# 2.创建一个窗口
w = QMainWindow()
# 3.设置窗口对象大小
w.resize(700, 500)
# 4.创建分组框控件对象,并指定父窗口
groupBox = QGroupBox(w)
# 5.设置分组框控件的尺寸
groupBox.resize(300, 100)
# 6.设置对齐方式
groupBox.setAlignment(Qt.AlignmentFlag.AlignVCenter)
# 7.设置分组标题
groupBox.setTitle("分组标题")
# 8.设置是否以扁平样式显示
groupBox.setFlat(False)
# 9.展示窗口
w.show()
# 10.进入程序的主循环并通过exit()函数确保主循环安全结束
sys.exit(app.exec())
三、选项卡控件
QTabWidget 控件,又称为选项卡控件,它可以将窗口设置为多页,以便使窗口的功能划分为多个部分,而每个部分都可以包含多个子控件。该类的常用方法如下:
方法 | 说明 |
---|---|
addTab(widget, icon, label) | 添加选项卡 |
insertTab(index, widget, icon, label) | 向指定索引插入选项卡 |
removeTab(index) | 删除指定索引的选项卡 |
tabText(index) | 获取指定索引的选项卡文本 |
setTabText(index, text) | 设置指定选项卡标题文本 |
tabIcon(index) | 获取指定索引的选项卡图标 |
setTabIcon(index, icon) | 设置指定索引选项卡图标 |
currentWidget() | 获取当前选中的选项卡 |
setCurrentWidget(widget) | 设置默认选中的选项卡 |
currentIndex() | 获取当前选项卡的索引 |
setCurrentIndex(index) | 设置默认选中的选项卡 |
setTabsClosable(closeable) | 设置是否可以独立关闭选项卡 - True 表示可以关闭,在每个选项卡旁边有一个关闭按钮- False 表示不可关闭 |
setTabPosition(position) | 设置选项卡的标题位置,支持以下 4 种位置: - QTabWidget.TabPosition.North :标题在北方,即上边,这是默认值- QTabWidget.TabPosition.South :标题在南方,即下边- QTabWidget.TabPosition.West :标题在西方,即左边- QTabWidget.TabPosition.East :标题在东方,即右边 |
QTabWidge 控件最常用的信号及其说明如下:
currentChanged(index) # 标签栏上的选项卡改变时发射信号
tabBarClicked(index) # 标签栏被点击时发射信号
tabBarDoubleClicked(index) # 标签栏被双击时发射信号
tabCloseRequested(index) # 标签栏被关闭时发射信号
import sys
from PySide6.QtWidgets import QApplication, QMainWindow
from PySide6.QtWidgets import QTabWidget, QWidget
from PySide6.QtGui import QIcon
if __name__ == "__main__":
# 1.创建一个QApplication类的实例
app = QApplication(sys.argv)
# 2.创建一个窗口
w = QMainWindow()
# 3.设置窗口对象大小
w.resize(700, 500)
# 4.创建选项卡控件对象,并指定父窗口
tabWidget = QTabWidget(w)
# 5.设置选项卡框控件的位置和尺寸
tabWidget.setGeometry(100, 100, 500, 300)
# 6.添加选项卡
tab1 = QWidget()
tabWidget.addTab(tab1, QIcon("1.ico"), "选项卡1")
# 7.插入选项卡
tab2 = QWidget()
tabWidget.insertTab(1, tab2, QIcon("1.ico"), "选项卡2")
tab3 = QWidget()
tabWidget.addTab(tab3, "选项卡-3")
# 8.设置指定选项卡标题文本
tabWidget.setTabText(2, "选项卡3")
# 9.获取指定索引的选项卡文本
print(tabWidget.tabText(2))
# 10.设置指定索引选项卡图标
tabWidget.setTabIcon(2, QIcon("1.ico"))
# 11.设置是否可以独立关闭选项卡
tabWidget.setTabsClosable(True)
# 12.设置选项卡的标题位置
tabWidget.setTabPosition(QTabWidget.TabPosition.West)
# 13.设置默认选中的选项卡
# tabWidget.setCurrentIndex(1)
tabWidget.setCurrentWidget(tab3)
# 14.获取当前选中选项卡索引
print(tabWidget.currentIndex())
# 15.获取当前选中的选项卡
print(tabWidget.currentWidget())
# 16.删除指定索引的选项卡
tabWidget.removeTab(1)
# 17.展示窗口
w.show()
# 18.进入程序的主循环并通过exit()函数确保主循环安全结束
sys.exit(app.exec())
TabWidge 在显示选项卡时,如果默认大小显示不下,会自动生成先前和先后的箭头,用户可以通过单击箭头,查看未显示的选项卡;
当删除某个选项卡时,选项卡会自动切换到前一个,因此也会弹出相应的信息提示。
四、工具盒控件
QToolBox 控件,又称为工具盒控件,它主要提供一种列状的层叠选项卡。该类的常用方法如下:
方法 | 说明 |
---|---|
addItem(widget, icon, text) | 添加选项卡 |
insertItem(index, widget, icon, text) | 向指定索引插入选项卡 |
removeItem(index) | 移除指定索引的选项卡 |
itemText(index) | 获取指定索引的选项卡的文本 |
setItemText(index, text) | 设置指定索引的文本 |
itemIcon(index) | 获取指定指定索引的图标 |
setItemIcon(index, icon) | 设置指定索引的图标 |
currentWidget() | 获取当前选项卡 |
setCurrentWidget(widget) | 设置默认选中的选项卡 |
currentIndex() | 获取当前选项卡的索引 |
setCurrentIndex(index) | 设置默认选中的选项卡 |
QToolBox 控件常用信号及其说明如下:
currentChanged(index) # 当前项改变时发射信号
import sys
from PySide6.QtWidgets import QApplication, QMainWindow
from PySide6.QtWidgets import QToolBox, QWidget
from PySide6.QtGui import QIcon
if __name__ == "__main__":
# 1.创建一个QApplication类的实例
app = QApplication(sys.argv)
# 2.创建一个窗口
w = QMainWindow()
# 3.设置窗口对象大小
w.resize(700, 500)
# 4.创建工具盒控件对象,并指定父窗口
toolBox = QToolBox(w)
# 5.设置工具盒框控件的位置和尺寸
toolBox.setGeometry(100, 100, 500, 300)
# 6.添加选项卡
toolBox.addItem(QWidget(), QIcon("1.ico"), "科技部")
# 7.向指定索引插入选项卡
page = QWidget()
toolBox.insertItem(1, page, QIcon("1.ico"), "魔法部")
toolBox.addItem(QWidget(), "奇异部")
toolBox.addItem(QWidget(), QIcon("1.ico"), "侦探部")
# 8.设置指定索引的文本
toolBox.setItemText(2, "超能力部")
# 9.获取指定索引的选项卡的文本
print(toolBox.itemText(2))
# 10.获取指定指定索引的图标
icon = toolBox.itemIcon(0)
# 11.设置指定索引的图标
toolBox.setItemIcon(2, icon)
# 12.设置默认选中的选项卡
# toolBox.setCurrentWidget(page)
toolBox.setCurrentIndex(1)
# 13.获取当前选项卡的索引
print(toolBox.currentIndex())
# 14.获取当前选项卡
print(toolBox.currentWidget())
# 15.移除指定索引的选项卡
toolBox.removeItem(3)
# 16.设置工具盒是否可用
toolBox.setEnabled(False)
# 17.展示窗口
w.show()
# 18.进入程序的主循环并通过exit()函数确保主循环安全结束
sys.exit(app.exec())
标签:容器,选项卡,控件,index,16,索引,设置,toolBox
From: https://www.cnblogs.com/kurome/p/17928833.html