SARibbon 2.5.1
SARibbon wiki
载入中...
搜索中...
未找到
SARibbonStackedWidget类 参考

具有弹出式菜单功能的堆叠窗口部件 更多...

#include <SARibbonStackedWidget.h>

类 SARibbonStackedWidget 继承关系图:

class  PrivateData
 The SARibbonStackedWidgetPrivate class
 

信号

void hidWindow ()
 隐藏窗口信号
 

Public 成员函数

 SARibbonStackedWidget (QWidget *parent)
 
void setPopupMode ()
 设置弹出模式
 
bool isPopupMode () const
 检查当前是否处于弹出模式
 
void setNormalMode ()
 设置正常模式 和普通的stackwidget一样
 
bool isNormalMode () const
 检查当前是否处于正常模式
 
void exec ()
 在弹出模式下以模态方式运行事件循环
 
void moveWidget (int from, int to)
 类似tabbar的moveTab函数,交换两个窗口的index
 
void setUseAnimation (bool on)
 设置是否启用弹出动画
 
bool isUseAnimation () const
 获取动画启用状态
 
void setAnimationDuration (int duration)
 设置动画持续时间(毫秒)
 
int animationDuration () const
 获取动画持续时间
 
int animationWidgetHeight () const
 
void setAnimationWidgetHeight (int h)
 
void setNormalGeometry (const QRect &normalGeometry)
 设置窗口normalGeometry,由于此窗口会有动画,防止动画过程中设置尺寸又被动画覆盖,因此此窗口的尺寸设置使用setNormalSize
 
QRect normalGeometry () const
 
void layoutRequestInnerWidgets ()
 对内部窗口发送布局请求
 

Protected 成员函数

void showEvent (QShowEvent *e) override
 
void hideEvent (QHideEvent *e) override
 
virtual void resizeEvent (QResizeEvent *e) override
 
void updateInnerWidgetGeometry ()
 

属性

int animationWidgetHeight
 

详细描述

具有弹出式菜单功能的堆叠窗口部件

此类扩展了 QStackedWidget,添加了两种工作模式:

  1. 正常模式:作为常规的堆叠部件,嵌入在父窗口布局中
  2. 弹出模式:作为独立的弹出窗口,可用于实现类似菜单的显示效果

在弹出模式下,窗口将显示为无边框面板,并支持模态事件循环(exec()方法), 这使得它可以像菜单或对话框一样使用。

注解
切换模式时会自动处理窗口状态和事件循环
参见
QStackedWidget

成员函数说明

◆ animationDuration()

int SARibbonStackedWidget::animationDuration ( ) const

获取动画持续时间

返回

◆ exec()

void SARibbonStackedWidget::exec ( )

在弹出模式下以模态方式运行事件循环

此方法仅在弹出模式下有效:

  1. 显示窗口
  2. 启动局部事件循环
  3. 窗口隐藏时退出事件循环
注解
在正常模式下调用此方法仅显示窗口
警告
不要在事件循环中再次调用此方法

◆ isNormalMode()

bool SARibbonStackedWidget::isNormalMode ( ) const

检查当前是否处于正常模式

返回
如果是正常模式返回 true,否则返回 false

◆ isPopupMode()

bool SARibbonStackedWidget::isPopupMode ( ) const

检查当前是否处于弹出模式

返回
如果是弹出模式返回 true,否则返回 false

◆ isUseAnimation()

bool SARibbonStackedWidget::isUseAnimation ( ) const

获取动画启用状态

返回

◆ layoutRequestInnerWidgets()

void SARibbonStackedWidget::layoutRequestInnerWidgets ( )

对内部窗口发送布局请求

这个方法会让子窗口布局失效同时重新计算布局

◆ moveWidget()

void SARibbonStackedWidget::moveWidget ( int  from,
int  to 
)

类似tabbar的moveTab函数,交换两个窗口的index

参数
from
to
注解
此操作会触发widgetRemoved(int index)信号

◆ setAnimationDuration()

void SARibbonStackedWidget::setAnimationDuration ( int  duration)

设置动画持续时间(毫秒)

参数
duration

◆ setNormalGeometry()

void SARibbonStackedWidget::setNormalGeometry ( const QRect &  normalGeometry)

设置窗口normalGeometry,由于此窗口会有动画,防止动画过程中设置尺寸又被动画覆盖,因此此窗口的尺寸设置使用setNormalSize

此函数在没有动画的时候,等同于

setFixedSize(normalGeometry.width(),normalGeometry.height());
move(normalGeometry.x(),normalGeometry.y());
参数
normalGeometry

◆ setNormalMode()

void SARibbonStackedWidget::setNormalMode ( )

设置正常模式 和普通的stackwidget一样

在此模式下,窗口将:

  • 设置为常规部件模式 (Qt::Widget)
  • 无边框窗口
  • 不显示框架
注解
如果存在模态事件循环,将退出该循环

◆ setPopupMode()

void SARibbonStackedWidget::setPopupMode ( )

设置弹出模式

在此模式下,窗口将:

  • 设置为 Qt::Popup 标志
  • 无边框窗口
  • 显示为面板样式
注解
切换模式时会自动处理窗口隐藏和显示

◆ setUseAnimation()

void SARibbonStackedWidget::setUseAnimation ( bool  on)

设置是否启用弹出动画

参数
on

该类的文档由以下文件生成: