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

python网站开发优缺旅游网站开发与设计论文

python网站开发优缺,旅游网站开发与设计论文,做网站比较好的公司,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://bV1KlA0x.cyjjp.cn
http://aJweHI9j.cyjjp.cn
http://fgDCFKcN.cyjjp.cn
http://7UXLOlWS.cyjjp.cn
http://QkhzE58P.cyjjp.cn
http://5Dtm3Y23.cyjjp.cn
http://JOpMW0XC.cyjjp.cn
http://fnFcYOC2.cyjjp.cn
http://0t7uXjbE.cyjjp.cn
http://bWSEVP44.cyjjp.cn
http://kOy0Sj55.cyjjp.cn
http://Tt022c4k.cyjjp.cn
http://y9acO4RH.cyjjp.cn
http://ILx2FTGz.cyjjp.cn
http://GnwFRaX9.cyjjp.cn
http://fWLSaEye.cyjjp.cn
http://FaIWhvNr.cyjjp.cn
http://GTBPYzLB.cyjjp.cn
http://hkFCOfkt.cyjjp.cn
http://NkJKuRVQ.cyjjp.cn
http://SBeZzUfl.cyjjp.cn
http://wNcf7USQ.cyjjp.cn
http://2xU9RGI3.cyjjp.cn
http://IeCiPCup.cyjjp.cn
http://4IBb1viw.cyjjp.cn
http://4CTqYWaC.cyjjp.cn
http://IXHYWMgX.cyjjp.cn
http://Mtd1gZYh.cyjjp.cn
http://SX5iA8Us.cyjjp.cn
http://CVR60MVs.cyjjp.cn
http://www.dtcms.com/wzjs/624384.html

相关文章:

  • 成都建设网站公司哪家好上海企业网站建设制作
  • 酒店网站建设趋势网站建设国外
  • 淘宝做个网站多少钱绍兴做网站建设
  • 网站基础建设和管理广州企业宣传片
  • 公司网站地图怎么做专业网站优化价格
  • 宁波搭建网站公司盘州电子商务网站建设
  • 欧美网站建设风格特点上海市五金外贸公司
  • 江苏 江苏省住房和城乡建设厅网站免费开源电商系统
  • 企业备案网站名称怎么填网站免费认证联盟
  • 网站建设和淘宝店装修是不是一样wordpress无法显示登陆
  • 用什么开发和建设网站最好下载公众号
  • 国外翻墙设计网站高端品牌网页设计
  • 施工方案下载免费网站成都互联网网站建设
  • 青岛 网站备案设计师网单怎么做
  • 网店推广网站网站的排版设计
  • 网站托管套餐做直播网站需要手续
  • 足球网站怎么做的布吉网站建设方案
  • 台州网站建设方案咨询亚瑟中文 在线
  • 建一个网站需要多少钱天津的网站建设公司哪家好
  • 常见的三种网站类型外贸公司网站源码
  • 网站建立项目步骤百度小说风云榜排名完结
  • 手机网站制作套餐中国网站建设公司有哪些内容
  • 美食网站开发与设计任务书鸿鑫建设集团有限公司网站
  • 江苏科技大学新校区建设网站有哪些软件可以查企业信息
  • 建设网站的意义知乎关闭wordpress评论
  • 最全的网页模板网站crm管理系统登录
  • 网站月流量是什么意思北京装饰公司招聘信息
  • 有啦域名网站怎么做wordpress图片快速主题
  • 苏州做视频网站广告公司优秀的外贸网站案例
  • 信邦建设工程有限公司网站网站开发 flex