当前位置: 首页 > news >正文

上海商地网站建设公司用万网建设网站教程视频

上海商地网站建设公司,用万网建设网站教程视频,wordpress带个人充值中心,网站建设网1、概述 源码放在文章末尾 该项目实现了一个带有标签动画、焦点动画、正确提示、错误警告的单行输入框控件。下面是demo演示&#xff1a; 项目部分代码如下所示&#xff1a; #ifndef LABELEDEDIT_H #define LABELEDEDIT_H#include <QObject> #include <QWidget>…

1、概述
源码放在文章末尾

该项目实现了一个带有标签动画、焦点动画、正确提示、错误警告的单行输入框控件。下面是demo演示:
在这里插入图片描述

项目部分代码如下所示:

#ifndef LABELEDEDIT_H
#define LABELEDEDIT_H#include <QObject>
#include <QWidget>
#include <QVBoxLayout>
#include <QPropertyAnimation>
#include <QPainter>
#include <QPainterPath>
#include <QTimer>
#include <cmath>
#include <QDebug>
#include "bottomlineedit.h"class LabeledEdit : public QWidget
{Q_OBJECTQ_PROPERTY(double LabelProg READ getFocusProg WRITE setLabelProg)Q_PROPERTY(int FocusProg READ getFocusProg WRITE setFocusProg)Q_PROPERTY(int LosesProg READ getLosesProg WRITE setLosesProg)Q_PROPERTY(int WrongProg READ getWrongProg WRITE setWrongProg)Q_PROPERTY(int CorrectProg READ getCorrectProg WRITE setCorrectProg)Q_PROPERTY(int ShowLoadingProg READ getShowLoadingProg WRITE setShowLoadingProg)Q_PROPERTY(int HideLoadingProg READ getHideLoadingProg WRITE setHideLoadingProg)Q_PROPERTY(int TipProg READ getTipProg WRITE setTipProg)Q_PROPERTY(int MsgShowProg READ getMsgShowProg WRITE setMsgShowProg)Q_PROPERTY(int MsgHideProg READ getMsgHideProg WRITE setMsgHideProg)
public:LabeledEdit(QWidget *parent = nullptr);LabeledEdit(QString label, QWidget* parent = nullptr);LabeledEdit(QString label, QString def, QWidget* parent = nullptr);BottomLineEdit* editor();void adjustBlank();QString text();void setText(QString text);void setLabelText(QString text);void setMsgText(QString text, bool autoClear = false);void setMsgText(QString text, QColor color);void setTipText(QString text);void setTipText(QString text, QColor color);void setAccentColor(QColor color);void showCorrect();void hideCorrect();void showWrong();void showWrong(QString msg, bool autoClear = false);void showLoading();void hideLoading();private:void upperLabel();void innerLabel();void showTip();void hideTip();void showMsg();void hideMsg();protected:void resizeEvent(QResizeEvent *event) override;void paintEvent(QPaintEvent *) override;void enterEvent(QEvent *event) override;void leaveEvent(QEvent *event) override;signals:public slots:private:QPropertyAnimation *startAnimation(QByteArray name, double start, double end, int duration, QEasingCurve curve = QEasingCurve::Linear);void setLabelProg(double x);double getLabelProg();void setFocusProg(int x);int getFocusProg();void setLosesProg(int x);int getLosesProg();void setWrongProg(int x);int getWrongProg();void setCorrectProg(int x);int getCorrectProg();void setShowLoadingProg(int x);int getShowLoadingProg();void setHideLoadingProg(int x);int getHideLoadingProg();void setTipProg(int x);int getTipProg();void setMsgShowProg(int x);int getMsgShowProg();void setMsgHideProg(int x);int getMsgHideProg();private:BottomLineEdit* line_edit;QWidget* up_spacer;QWidget* down_spacer;QColor grayed_color;   // 没有聚焦的颜色:下划线+文字QColor accent_color;   // 终点颜色QString label_text;    // 标签QList<QPointF> label_in_poss; // 标签在输入框里面的左下角位置QList<QPointF> label_up_poss; // 标签在输入框上方的左下角位置const int label_ani_max = 4;  // 不超过这数字就使用普通的动画QString tip_text;      // 鼠标悬浮显示在下面的(有msg_text时隐藏)QColor tip_color;bool entering = false; // showWrong隐藏tip,用来做flagQString msg_text; // 警告信息QColor msg_color; // 警告颜色QString msg_hiding; // 隐藏中的msg,用于两次msg的切换bool autoClearMsg = false; // 自动删除错误消息QTimer* loading_timer = nullptr;int loading_petal = 8;    // 菊花花瓣数量QRect loading_rect;    // 加载菊花的位置double loading_inner = 0; // 菊花内环半径double loading_outer = 0; // 菊花外环半径int loading_index = 0; // 加载到了哪个花瓣(最右边为0)double label_prog = 0; // 标签上下移动int focus_prog = 0;    // 下划线从左往右int loses_prog = 0;    // 下划线从右边消失int wrong_prog = 0;    // 底部下划线浪动int correct_prog = 0;  // 右边的勾int show_loading_prog = 0;  // 显示加载int hide_loading_prog = 0;  // 隐藏加载int tip_prog = 0;int msg_show_prog = 0;int msg_hide_prog = 0;const int pen_width = 2;const double label_scale = 1.5;const int label_duration = 400;const int focus_duration = 500;const int wrong_duration = 900;const int correct_duration = 600;const int show_loading_duration = 600;const int hide_loading_duration = 200;const int tip_duration = 400;const int msg_show_duration = 600;const int msg_hide_duration = 300;
};#endif // LABELEDEDIT_H

源码下载

http://www.yayakq.cn/news/407182/

相关文章:

  • 中国精品课程网站wordpress图片并排
  • 账号权重查询入口站长工具cent os7 wordpress
  • 网站设计工作室公司手机怎么登录微信网页版
  • 企业网站2000元中国建设银行笔试确认网站
  • 网站建设与制作设计公司搜索引擎内部优化
  • 免费做情网站山东金城建设网站
  • 知乎网站内容建设的逻辑网站系统维护
  • 家庭网络设计方案山东seo首页关键词优化
  • 盐城z做网站wordpress顶部空白
  • 手机网站全屏显示网站内容建设方案
  • 怎么做网站内容添加wordpress ssl视频讲解
  • 医疗软件网站建设深圳建站网站
  • 漂亮的网站维护页面国内的跨境电商平台有哪些
  • 奉贤网站建设网站制作任丘哪里做网站
  • 域名暂无法进行网站备案做网站建设给人销售
  • dede网站安全深圳建筑工地招工平台
  • 贵州做网站怎么推广进出口贸易网
  • sae wordpress 安装主题网站建设方式优化
  • 吉林省建设信息网站wordpress编辑导航菜单视频教程
  • 网站建设相对路径网页制作培训的课程
  • 山西做网站的公司有哪些合肥网络推广公司乐蜂
  • 网站管理后台地址建设网站远达
  • 上海网站制作公司哪工业设计网站排行榜前十名有哪些
  • 网站开发难学吗如何修改百度上面的门店号码
  • 王磊网络网站建设flash网页设计教程
  • 快捷的网站建设排行榜源码猫网站建设ym361
  • 企业网站备案怎么做公众号开发者授权
  • 什么软件制作网站快wordpress标题翻译插件
  • 企业网站首页flashwordpress数据库文件路径
  • 网站建设中主机放在哪里西固网页设计