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

带有后台的网站开发软件wordpress建设中

带有后台的网站开发软件,wordpress建设中,网站模板制作教程视频教程,wordpress 公众号登录界面实现效果: 实现combobox的下拉框区域与item区域分开做UI交互显示。 支持4种实现效果,如下 效果一: 效果二: 效果三: 效果四: 实现逻辑: ui由一个toolbutton和combobox上下组合成,重点在于combobox。 我设置了4种枚举,ButtonWithComboBox对应效果一;OnlyButt…

实现效果:

实现combobox的下拉框区域与item区域分开做UI交互显示。

支持4种实现效果,如下

效果一:

效果二:

效果三:

效果四:

实现逻辑:

ui由一个toolbutton和combobox上下组合成,重点在于combobox。

我设置了4种枚举,ButtonWithComboBox对应效果一;OnlyButton对应效果四;OnlyComboBox对应效果三;OnlyComboBoxDepart对应效果二。

一、交互

自定义一个combobox,在鼠标事件中判断鼠标处于哪个位置。将combobox分为2个部分,一个是item区,区域的获取方法

QRect itemRect = style()->subControlRect(QStyle::CC_ComboBox, &opt,QStyle::SC_ComboBoxEditField);

一个是下拉按钮区,获取方法是

 _arrowRect = style()->subControlRect(QStyle::CC_ComboBox, &opt,QStyle::SC_ComboBoxArrow, this);

并设置一个变量用来记录按钮所在位置,这里,使用了setProperty,设置了一个参数名inArrowRect。当鼠标在item区时,inArrowRect为“out”,当鼠标在下拉按钮区时,inArrowRect为“in”,当鼠标离开combobox时,inArrowRect为“null”。在css样式表里结合inArrowRect的值设置交互。

二、自定义下拉区

在这里,我需要设置combobox支持下拉显示自定义界面,所以我设置了一个变量_isCustomized,用来判断下拉后是否使用自定义界面,如果使用自定义界面,只需要调用setPopupWidget(QWidget *widget),将自定义界面传入。

此外,设置了一个变量_isTogether,用来判断是否要将combobox的Item区与下拉按钮区分开显示,如果设置为false,那么会按原始的样式显示,两者是整体;设置为true,样式就会使用我上面显示的。

因为常用的是自定义Menu,所以我封装了一个函数QAction* addMenuAciton(QObject *obj,QString name,QString iconName,const QString &toolTip = "",bool isCheckable = false),专门用来显示自定义Menu。

此外,就是有时候下拉区域是图片带文字的,点击后,最终只显示图片或文字。所以这里要注意,我写的这个类,下拉区域的显示和combobox最终显示的是独立设置的2个。combobox显示的内容是通过comboBox的addItem来添加。通过设置一个变量_comboType设置combobox显示什么

实现代码:

具体代码实现如下

.cpp

#ifndef TOOLCOMBOBOX_H
#define TOOLCOMBOBOX_H#include <QWidget>
#include <QComboBox>
#include <QMouseEvent>
#include <QPainter>
#include <QVBoxLayout>
#include <QAbstractItemView>
#include <QStandardItem>
#include <QStylePainter>
#include <QStyleOptionComboBox>namespace Ui {
class ToolComboBox;
}
namespace RO_xxx{class IndependentComboBox : public QComboBox {Q_OBJECT
public:enum comboShow{iconAndText =0,onlyText =1,onlyIcon=2};Q_ENUM(comboShow)using QComboBox::QComboBox;void setComboShow(comboShow type){_comboType = type;}void setPopupWidget(QWidget *widget){_customPopup = widget;_customPopup->setWindowFlag(Qt::Popup);// 设置为 Popup 类型// 确保 Popup 关闭时能正确触发 hidePopup()connect(_customPopup, &QWidget::destroyed, this, &QComboBox::hidePopup);}void setTogether(bool together){_isTogether = together;}void setComboBoxPopCustomized(bool isCustomized){_isCusto
http://www.dtcms.com/wzjs/842228.html

相关文章:

  • wap网站 html5网络营销的分类
  • 益阳公司官网大侠seo外链自动群发工具
  • 电子商务网站建设成都关于建设校园网站申请
  • 新闻资讯网站模板各大网站推广平台
  • 龙岗网站建设网站制作河北区网站建设
  • 狮山网站设计邢台做wap网站的地方
  • 英语培训网站建设wordpress 程序员博客主题
  • 电影网站怎么做phpwind 企业网站
  • 网站开发安全性分析北京比较好的品牌设计公司
  • 常熟做网站公司策划推广
  • 灯具电商网站建设方案泰安市泰山区招聘信息
  • 做网站找 汇搜网络上海网络营销培训
  • 怎么做跟别人一样的网站怎样安全做黑色彩票网站
  • 浙江大数据网站建设问答知识罗湖网站设计多少钱
  • 个人网站做产品免费装修设计app
  • 厦门知名做企业网站设计的公司西安app网站开发
  • 消防器材厂家东莞网站建设在百度做推广送网站好吗
  • 桐乡建设规划局网站天津电商网站开发
  • 微信网站开发seo网络优化公司哪家好
  • 福建 网站建设大学生创业项目
  • 做网站需要的相关知识兰州营销型网站
  • 京东购物网站怎么做如何自己设置网站
  • 多视频网站建设网站 域名空间 调试
  • 黑龙江省建设集团有限公司网站国内新闻最新5条
  • 松江做网站公司网上营销号什么意思
  • 怎样做软件网站建设网站一键备份
  • 网站设计模板源码深圳市企业网站建设企业
  • 企业推广网站建设报价wordpress群空间
  • 10个网站做站群wordpress最新文章列表插件
  • 攀枝花建设集团网站简约网页