PyQt-Fluent-Widgets中的分页指示器组件使用教程

PyQt-Fluent-Widgets中的分页指示器组件使用教程

【免费下载链接】PyQt-Fluent-Widgets A fluent design widgets library based on C++ Qt/PyQt/PySide. Make Qt Great Again. 【免费下载链接】PyQt-Fluent-Widgets 项目地址: https://gitcode.com/gh_mirrors/py/PyQt-Fluent-Widgets

概述

在PyQt-Fluent-Widgets项目中,PipsPager(分页指示器)是一种直观的导航控件,用于显示内容的分页状态和快速跳转。本文将详细介绍HorizontalPipsPager(水平分页指示器)和VerticalPipsPager(垂直分页指示器)的使用方法,帮助开发者快速掌握这一实用组件。

分页指示器基础

分页指示器通常由一系列小圆点(称为pips)组成,每个圆点代表一个页面。当前活动页面通常以不同的视觉样式(如填充颜色或大小)突出显示。PyQt-Fluent-Widgets提供了两种布局方向的实现:

  • HorizontalPipsPager:水平布局的分页指示器
  • VerticalPipsPager:垂直布局的分页指示器

核心功能实现

1. 基本设置

首先需要设置总页数和可见指示器数量:

# 设置总页数(15页)
self.hPager.setPageNumber(15)
self.vPager.setPageNumber(15)

# 设置可见的指示器数量(8个)
self.hPager.setVisibleNumber(8)

setVisibleNumber方法控制同时显示的指示器数量,当总页数超过此值时,指示器会自动支持滚动浏览。

2. 滚动按钮控制

分页指示器提供导航按钮用于滚动浏览页面,可以灵活设置其显示模式:

# 水平分页指示器始终显示滚动按钮
self.hPager.setNextButtonDisplayMode(PipsScrollButtonDisplayMode.ALWAYS)
self.hPager.setPreviousButtonDisplayMode(PipsScrollButtonDisplayMode.ALWAYS)

# 垂直分页指示器仅在悬停时显示上一页按钮
self.vPager.setNextButtonDisplayMode(PipsScrollButtonDisplayMode.ALWAYS)
self.vPager.setPreviousButtonDisplayMode(PipsScrollButtonDisplayMode.ON_HOVER)

支持三种显示模式:

  • ALWAYS:始终显示
  • ON_HOVER:仅在悬停时显示
  • NEVER:从不显示

3. 布局管理

将分页指示器添加到界面布局中:

self.setLayout(QHBoxLayout())  # 水平布局
self.layout().addWidget(self.hPager)  # 添加水平分页指示器
self.layout().addWidget(self.vPager)  # 添加垂直分页指示器

高级应用技巧

主题切换

PyQt-Fluent-Widgets支持主题切换功能,可以轻松实现明暗主题:

from qfluentwidgets import setTheme, Theme

# 设置为暗色主题
setTheme(Theme.DARK)
self.setStyleSheet('Demo{background:rgb(32,32,32)}')

高DPI支持

为了确保在高分辨率显示器上正常显示,需要配置DPI缩放策略:

QApplication.setHighDpiScaleFactorRoundingPolicy(Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)
QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps)

实际应用场景

分页指示器组件特别适合以下场景:

  1. 图片浏览器中的图片导航
  2. 幻灯片演示中的页面指示
  3. 多步骤表单的进度显示
  4. 数据表格的分页导航

总结

PyQt-Fluent-Widgets提供的PipsPager组件是一个功能强大且易于使用的分页导航解决方案。通过本文的介绍,开发者可以掌握:

  1. 如何创建水平和垂直方向的分页指示器
  2. 控制分页数量和可见范围
  3. 自定义滚动按钮的显示行为
  4. 适配不同主题和高DPI环境

该组件遵循Fluent Design设计语言,能够为PyQt应用程序带来现代化的用户体验。开发者可以根据实际需求灵活调整参数,快速构建专业级的用户界面。

【免费下载链接】PyQt-Fluent-Widgets A fluent design widgets library based on C++ Qt/PyQt/PySide. Make Qt Great Again. 【免费下载链接】PyQt-Fluent-Widgets 项目地址: https://gitcode.com/gh_mirrors/py/PyQt-Fluent-Widgets

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值