没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Qt-Jqx 风格的按钮控件实现
Jqx-JqueryWidget 是一个强大的 JavaScript 框架,用于构建功能丰富的响应式 Web 应
用程序和用户界面。它提供了一套丰富的 UI 部件(Widgets),覆盖了各种常见的控件和功
能,如图表、网格、表单和导航等。本文使用 Qt 实现各类 Jqx 风格的按钮控件。
一、实现效果:
1、按钮:Default、Primary、Info、Success、Warning、Danager、Inverse
2、ToggleButton 实现
3、DropdownButton(下拉按钮)实现
禁用效果:
Dropdown:
二、实现方式
1.Jqx 按钮实现:
继承自 QPushButton
使用 Qt QPushButton 控件的 setStyleSheet 方法给 QPushButton 设置 css 样式。通过
设置 QPushButton 的边框颜色和线性渐变实现按钮在不同状态时颜色与样式的变化。禁用时
使用 QGraphicsBlurEffect 设置模糊效果。
2.Jqx toggleButton 实现:
继承自 QPushButton
添加 toggled 属性用来标识 toggled 状态是否切换。toggled 为 true 时,设置按钮亮
起,并使用 QGraphicsDropShadowEffect 设置较深的阴影效果。toggled 为 false 时,设置
较暗的背景色,并用 QGraphicsDropShadowEffect 设置较浅的阴影效果。通过绑定 clicked
信号触发修改状态。
3.Jqx DropdownButton 实现:
继承自 QPushButton
在 QPushButton 的父控件中添加一个 QTreeView 用来显示下拉框,一个 QPushButton
arrowButton 显示 DropdownButton 右侧的箭头。
添加枚举类 Alignment{Left,Center,Right},用来确定下拉框相对于按钮的位置。
添加数据类型 QJDropdownData,用来设置展示在 TreeView 中的数据。该类,包含两个
QString 类型的属性 id 和 value 和一个 QList<QJDropdownData> 列表用来实现父子关系。
添加 changed 信号,当 QTreeView 中的 item 双击时触发。
使用方法(API):
构造函数:explicit QJDropdownButton(QWidget *parent) 新建 QJDropdownButton 对
象并指定 parent 控件
构 造 函 数 : explicit QJDropdownButton(QWidget *parent,QList<QJDropdownData>
datas) 新建对象并设置展示数据
void setAlignment(Alignment align):设置对齐方式。
void dropDown():展开下拉框
void hide():隐藏下拉框
QString id():获取 id
QString value():获取值(显示在 Dropdownbutton 内的文本)
void setDatas(QList<QJDropdownData> datas);设置/重置展示数据
void setTreeView():数据内容填充到 TreeView 中
void setExpaned(bool expanded):修改 expaned(true/false)状态,并根据状态判
断调用 dropDown 或 hide 方法。
void setDisabled(bool disabled):禁用 QJDropdownButton 的同时禁用右侧箭头按钮。
三、源代码
1.QJButton
//-----------------------------------------------头文件------------------------------------------------------//
#ifndef QJBUTTON_H
#define QJBUTTON_H
#include <QPushButton>
class QJButton:public QPushButton
{
public:
enum Type{
Default,
Primary,
Info,
Success,
Warning,
Danger,
Inverse
};
explicit QJButton(QWidget *parent);
explicit QJButton(QJButton::Type type,QWidget *parent);
void setDisabled(bool disabled);
void setType(Type type);
Type type();
private:
Type tzpe;
};
#endif // QJBUTTON_H
剩余18页未读,继续阅读
资源评论
who_am_i__
- 粉丝: 42
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 微信小程序 - 同乐居商城:购物车合算源码
- 1、根据输入的三条边值判断能组成何种三角形,并设计测试数据进行判定覆盖测试 三条边为变量a、b、c,范围为1≤边值≤10,不在范
- SQL server 练习题目8道(小白教学).zip
- Python 手写实现 iD3 决策树算法-根据信息增益公式.zip
- 411675952289057车联助手-小窗版(三星)3.5.1.apk
- 三种快速排序方法合并在一个文件中以便直接运行的Python代码示例
- 937712277954201实习5.word
- 2程序语言基础知识pdf1_1716337722703.jpeg
- 简单的Python示例,演示了如何使用TCP/IP协议进行基本的客户端和服务器通信
- 考试.sql
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功