静态网站建设要学什么,二手车网站开发PPT,ppt模板免费下载古风,英文建站模板描述
QTabWidget类提供了一个带有选项卡的小部件堆栈。
选项卡小部件提供了一个选项卡栏#xff08;参见QTabBar#xff09;和一个“页面区域”#xff0c;用于显示与每个选项卡相关联的页面。默认情况下#xff0c;选项卡栏显示在页面区域的上方#xff0c;但可以使用…描述
QTabWidget类提供了一个带有选项卡的小部件堆栈。
选项卡小部件提供了一个选项卡栏参见QTabBar和一个“页面区域”用于显示与每个选项卡相关联的页面。默认情况下选项卡栏显示在页面区域的上方但可以使用不同的配置参见TabPosition进行更改。每个选项卡与不同的小部件称为页面相关联。只有当前页面在页面区域中显示其他所有页面都被隐藏。用户可以通过单击选项卡或按下其Alt字母快捷键如果有的话来显示不同的页面。
使用方式
使用QTabWidget的常规方式如下
创建一个QTabWidget对象。为选项卡对话框中的每个页面创建一个QWidget但不为它们指定父窗口小部件。使用布局将子窗口小部件插入页面小部件以正常的方式定位它们。使用addTab()或insertTab()将页面小部件放入选项卡窗口小部件中并为每个选项卡提供适当的标签可以选择性地添加键盘快捷键。
选项卡的位置由tabPosition定义其形状由tabShape定义。
当用户选择一个页面时将触发currentChanged()信号。
当前页面索引可通过currentIndex()获得当前页面小部件可通过currentWidget()获得。您可以使用widget()检索具有给定索引的页面小部件并可以使用indexOf()找到小部件的索引位置。使用setCurrentWidget()或setCurrentIndex()来显示特定页面。
您可以使用setTabText()或setTabIcon()更改选项卡的文本和图标。可以使用removeTab()删除选项卡及其相关页面。
每个选项卡在任何给定时间都可以启用或禁用参见setTabEnabled()。如果选项卡启用选项卡文本将以正常方式绘制用户可以选择该选项卡。如果选项卡禁用选项卡将以不同的方式绘制用户无法选择该选项卡。 请注意即使选项卡被禁用页面仍然可以可见例如如果所有选项卡都恰好被禁用。
选项卡小部件可以很好地将复杂的对话框分割成多个部分。另一种选择是使用QStackedWidget您可以为其提供一些导航方式例如QToolBar或QListWidget。
QTabWidget中的大部分功能由QTabBar位于顶部提供选项卡和QStackedWidget大部分区域组织个别页面提供。
常用函数
枚举类型 QTabWidget::TabPosition
此枚举类型定义了 QTabWidget 绘制选项卡行的位置
常量值描述QTabWidget::North0选项卡绘制在页面上方。QTabWidget::South1选项卡绘制在页面下方。QTabWidget::West2选项卡绘制在页面左侧。QTabWidget::East3选项卡绘制在页面右侧。
枚举类型 QTabWidget::TabShape
此枚举类型定义了选项卡的形状
常量值描述QTabWidget::Rounded0选项卡以圆角形状绘制。这是默认形状。QTabWidget::Triangular1选项卡以三角形形状绘制。
成员函数介绍部分 addTab(QWidget *widget, const QString label): 向QTabWidget中添加一个选项卡关联指定的小部件和标签。 insertTab(int index, QWidget *widget, const QStringlabel): 在指定的位置插入一个选项卡关联指定的小部件和标签。 removeTab(int index): 移除指定位置的选项卡及其关联的页面小部件。 setCurrentWidget(QWidget *widget): 设置当前显示的页面为指定的小部件。 setCurrentIndex(int index): 设置当前显示的页面为指定的索引位置。 currentWidget(): 返回当前显示的页面小部件。 currentIndex(): 返回当前显示页面的索引位置。 setTabText(int index, const QString text): 修改指定索引位置的选项卡的文本。 setTabIcon(int index, const QIcon icon): 修改指定索引位置的选项卡的图标。 setTabToolTip(int index, const QString tooltip): 设置定索引位置的选项卡的工具提示。 setTabEnabled(int index, bool enabled): 设置指定索引位置的选项卡的启用状态。 count(): 返回选项卡的数量。 tabBar(): 返回QTabBar对象用于访问和修改选项卡栏的属性和样式。 tabPosition(): 返回当前选项卡栏的位置。 tabShape(): 返回当前选项卡的形状。 tabText(int index): 返回指定索引位置的选项卡的文本。 tabIcon(int index): 返回指定索引位置的选卡的图标。
示例
UI效果
#include QApplication
#include QTabWidget
#include QPushButton
#include QIconint main(int argc, char *argv[]) {QApplication app(argc, argv);QTabWidget tabWidget;// 添加按钮用于动态添加tabQPushButton addButton(Add Tab);QObject::connect(addButton, QPushButton::clicked, []() {static int index 1;QString text Tab QString::number(index);QWidget *widget new QWidget();tabWidget.addTab(widget, text); // 添加新的tabindex;});// 插入按钮用于在当前tab之后插入新的tabQPushButton insertButton(Insert Tab);QObject::connect(insertButton, QPushButton::clicked, []() {static int index 1;QString text Tab QString::number(index);QWidget *widget new QWidget();int currentIndex tabWidget.currentIndex();tabWidget.insertTab(currentIndex 1, widget, text); // 插入新的tabindex;});// 关闭按钮用于关闭当前选中的tabQPushButton closeButton(Close Tab);QObject::connect(closeButton, QPushButton::clicked, []() {int currentIndex tabWidget.currentIndex();tabWidget.removeTab(currentIndex); // 关闭当前选中的tab});// 修改按钮用于改变当前选中tab的图标和文本QPushButton modifyButton(Modify Tab);QObject::connect(modifyButton, QPushButton::clicked, []() {int currentIndex tabWidget.currentIndex();QIcon newIcon(:/newIcon.png);QString newText Modified Tab;tabWidget.setTabIcon(currentIndex, newIcon); // 修改当前选中tab的图标tabWidget.setTabText(currentIndex, newText); // 修改当前选中tab的文本});// 将按钮添加到QTabWidget中tabWidget.addTab(addButton, Add);tabWidget.addTab(insertButton, Insert);tabWidget.addTab(closeButton, Close);tabWidget.addTab(modifyButton, Modify);tabWidget.show();return app.exec();
}示例创建了一个QTabWidget并添加了4个按钮用于实现动态添加tab、插入tab、关闭tab以及修改tab图标和文本的功能。可以根据实际需求更改按钮的样式和功能实现。