Qt工作笔记-使用QpropertyAnimation实现控件上下滑动的效果
生活随笔
收集整理的這篇文章主要介紹了
Qt工作笔记-使用QpropertyAnimation实现控件上下滑动的效果
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
目錄
基本要求
源碼
?
?
基本要求
這里其實(shí)還有一種方法,使用QTimeLine同樣可以實(shí)現(xiàn)QpropertyAnimation的效果!這個(gè)沒給出滑動(dòng)的效果,但給出一個(gè)漸變的效果,連接如下所示:
https://mp.csdn.net/postedit/82901505
?
滑動(dòng)效果原理很簡(jiǎn)單,在此不再說明!!!!
?
程序運(yùn)行截圖如下:
?
ui如下:
源碼
如下:
widget.h
#ifndef WIDGET_H #define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE class QPropertyAnimation; QT_END_NAMESPACEnamespace Ui { class Widget; }class Widget : public QWidget {Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();protected slots:void pushButtonClicked();private:Ui::Widget *ui;QPropertyAnimation *m_propertyAnimation;bool m_isShow; };#endif // WIDGET_Hwidget.cpp
#include "widget.h" #include "ui_widget.h" #include <QPropertyAnimation>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);this->setWindowTitle("CSDN IT1995");m_isShow = false;ui->listWidget->setMaximumHeight(0);m_propertyAnimation = new QPropertyAnimation(ui->listWidget, "maximumHeight");connect(ui->pushButton, SIGNAL(clicked(bool)), this, SLOT(pushButtonClicked())); }Widget::~Widget() {delete ui; }void Widget::pushButtonClicked() {if(!m_isShow){m_propertyAnimation->setDuration(200);m_propertyAnimation->setStartValue(0);m_propertyAnimation->setEndValue(100);m_propertyAnimation->start();}else{m_propertyAnimation->setDuration(200);m_propertyAnimation->setStartValue(100);m_propertyAnimation->setEndValue(0);m_propertyAnimation->start();}m_isShow = !m_isShow; }main.cpp
#include "widget.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); }?
總結(jié)
以上是生活随笔為你收集整理的Qt工作笔记-使用QpropertyAnimation实现控件上下滑动的效果的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt/C++工作笔记-vector与QV
- 下一篇: Qt工作笔记-视图(QGraphicsV