上一篇文章侧边栏简易版。这次写了一篇丝滑版侧边栏效果,增加了动画效果。
1 侧边栏效果
2 实现思路
考虑到可以运用到实际Qt项目中。要做到如下几点:
- 侧边栏和按钮同时有入场和退场动画效果
- 不影响主窗口界面效果,比如标题栏和内容区域
- 侧边栏按钮增加样式
3 核心代码实现
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
isShow = false;
// 设置按钮样式跟随侧边栏状态而变化
setBtnStyle(false);
//直接移动侧边栏无效,可能是界面重绘不支持。所以间隔0.2秒后再移动
QTimer::singleShot(200, this, SLOT(slotMoveWidget()));
//初始化动画
anim1 = new QPropertyAnimation(ui->widSide, "geometry");
anim1->setEasingCurve(QEasingCurve::Linear)