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

iis网站权限设置免费wordpress空间

iis网站权限设置,免费wordpress空间,做的网站如何全屏,甘肃做网站多少钱继承ComboBox完成下拉复选框 自定义全选项 效果图 整个控件继承于QCombobox类。主要修改QLineEdit、QListWidget这两部分#xff0c;QComboBox提供如下接口#xff0c;可以将这两部分设置为新建的QLineEdit、QListWidget对象 CMultiSelectComboBox::CMultiSelectComboBo…继承ComboBox完成下拉复选框 自定义全选项 效果图 整个控件继承于QCombobox类。主要修改QLineEdit、QListWidget这两部分QComboBox提供如下接口可以将这两部分设置为新建的QLineEdit、QListWidget对象 CMultiSelectComboBox::CMultiSelectComboBox(QWidget* parent, bool bHasAllSelected): QComboBox(parent), m_bHasAllSelected(bHasAllSelected) {m_pListWidget new QListWidget();m_pLineEdit new QLineEdit();m_pLineEdit-setReadOnly(true);setModel(m_pListWidget-model());setView(m_pListWidget);setLineEdit(m_pLineEdit);m_pLineEdit-installEventFilter(this);if (m_bHasAllSelected){AddItem(TransString2Unicode(全选), ALL_SELECTED);} }完整代码 /* ** File name: MultiSelectComboBox.h ** Author: ** Date: 2024-12-26 ** Brief: 多选下拉框控件 ** Copyright (C) 1392019713qq.com All rights reserved. */#pragma once#include QComboBox #include QListWidget #include QLineEdit #include QVariant #include QEvent #include QtGuiExportLib.hclass QTGUI_EXPORT CMultiSelectComboBox : public QComboBox { public:/** brief 构造函数* param parent 父控件* param bHasAllSelected 是否显示全选选项*/explicit CMultiSelectComboBox(QWidget* parent nullptr, bool bHasAllSelected false);virtual ~CMultiSelectComboBox() default;/** brief 设置是否显示全选选项 需在设置数据前调用* param bHasAllSelected 是否显示全选选项*/void SetHasAllSelected(bool bHasAllSelected true);void AddItem(const QString qstrItem, const QVariant rVar QVariant());void RemoveItem(const QVariant rVar);void ClearItems();QListQVariant GetSelectedItemDatas() const;QString GetCurrentText() const;protected:virtual bool eventFilter(QObject* pObj, QEvent* pEvent) override;private:void SetSelectedCheckState(int nState);void SetAllSelected(bool bChecked);int GetCheckedCount() const;private Q_SLOTS:void SlotItemStateChanged(int);void SlotItemClicked(int nIndex);void SlotChecBoxClicked();private:bool m_bHasAllSelected;QListWidget* m_pListWidget;QLineEdit* m_pLineEdit; }; #include ../Include/MultiSelectComboBox.h #include ../Include/Conversion.h #include QCheckBox #include QDebug#define ALL_SELECTED ALL_SELECT CMultiSelectComboBox::CMultiSelectComboBox(QWidget* parent, bool bHasAllSelected): QComboBox(parent), m_bHasAllSelected(bHasAllSelected) {m_pListWidget new QListWidget();m_pLineEdit new QLineEdit();m_pLineEdit-setReadOnly(true);setModel(m_pListWidget-model());setView(m_pListWidget);setLineEdit(m_pLineEdit);m_pLineEdit-installEventFilter(this);if (m_bHasAllSelected){AddItem(TransString2Unicode(全选), ALL_SELECTED);} }void CMultiSelectComboBox::SetHasAllSelected(bool bHasAllSelected) {if (bHasAllSelected){AddItem(TransString2Unicode(全选), ALL_SELECTED);}else{RemoveItem(ALL_SELECTED);}m_bHasAllSelected bHasAllSelected; }void CMultiSelectComboBox::AddItem(const QString qstrItem, const QVariant rVar) {QListWidgetItem* pItem new QListWidgetItem(m_pListWidget);QCheckBox* pCheckBox new QCheckBox();pCheckBox-setText(qstrItem);pItem-setData(Qt::UserRole, rVar);m_pListWidget-addItem(pItem);m_pListWidget-setItemWidget(pItem, pCheckBox);connect(pCheckBox, QCheckBox::stateChanged, this, CMultiSelectComboBox::SlotItemStateChanged);connect(pCheckBox, QCheckBox::clicked, this, CMultiSelectComboBox::SlotChecBoxClicked); }void CMultiSelectComboBox::RemoveItem(const QVariant rVar) {for (int i 0; i m_pListWidget-count(); i){QListWidgetItem* pItem m_pListWidget-item(i);if (!pItem){continue;}if (pItem-data(Qt::UserRole) rVar){QWidget* pWidget m_pListWidget-itemWidget(pItem);QCheckBox* pCheckBox qobject_castQCheckBox*(pWidget);if (pCheckBox){delete pCheckBox;}m_pListWidget-removeItemWidget(pItem);m_pListWidget-takeItem(i);delete pItem;break;}} }void CMultiSelectComboBox::ClearItems() {m_pListWidget-clear();m_pLineEdit-clear(); }QListQVariant CMultiSelectComboBox::GetSelectedItemDatas() const {QListQVariant lstVars;int i 0;if (m_bHasAllSelected){i 1;}for (; i m_pListWidget-count(); i){QListWidgetItem* pItem m_pListWidget-item(i);if (!pItem){continue;}QCheckBox* pCheckBox qobject_castQCheckBox*(m_pListWidget-itemWidget(pItem));if (!pCheckBox){continue;}if (pCheckBox-isChecked()){QVariant rVar pItem-data(Qt::UserRole);if (rVar.isValid()){lstVars.append(rVar);}}}return lstVars; }QString CMultiSelectComboBox::GetCurrentText() const {if (!m_pLineEdit){return QString();}return m_pLineEdit-text(); }bool CMultiSelectComboBox::eventFilter(QObject* pObj, QEvent* pEvent) {if (pObj m_pLineEdit){if (pEvent-type() QEvent::MouseButtonPress){showPopup();return true;}}return false; }void CMultiSelectComboBox::SetSelectedCheckState(int nState) {for (int i 0; i m_pListWidget-count(); i){QCheckBox* pCheckBox qobject_castQCheckBox*(m_pListWidget-itemWidget(m_pListWidget-item(i)));if (!pCheckBox){continue;}if (pCheckBox-isChecked()){pCheckBox-setCheckState(Qt::CheckState(nState));}} }void CMultiSelectComboBox::SetAllSelected(bool bChecked) {for (int i 0; i m_pListWidget-count(); i){QCheckBox* pCheckBox qobject_castQCheckBox*(m_pListWidget-itemWidget(m_pListWidget-item(i)));if (!pCheckBox){continue;}pCheckBox-setChecked(bChecked);} }int CMultiSelectComboBox::GetCheckedCount() const {int i 0;if (m_bHasAllSelected){i 1;}int nCount 0;for (; i m_pListWidget-count(); i){QCheckBox* pCheckBox qobject_castQCheckBox*(m_pListWidget-itemWidget(m_pListWidget-item(i)));if (!pCheckBox){continue;}if (pCheckBox-isChecked()){nCount;}}return nCount; }void CMultiSelectComboBox::SlotItemClicked(int nIndex) {QCheckBox* pCheckBox qobject_castQCheckBox*(m_pListWidget-itemWidget(m_pListWidget-item(nIndex)));if (!pCheckBox){return;}if (m_bHasAllSelected nIndex 0){SetAllSelected(pCheckBox-isChecked());}else if(!m_bHasAllSelected){pCheckBox-setChecked(pCheckBox-isChecked());}else {pCheckBox-setChecked(pCheckBox-isChecked());int nCheckedCount GetCheckedCount();if (nCheckedCount 0){SetAllSelected(false);}else if (nCheckedCount m_pListWidget-count() - 1){SetSelectedCheckState(Qt::PartiallyChecked);}else{SetAllSelected(true);}} }void CMultiSelectComboBox::SlotChecBoxClicked() {int nIndex 0;QCheckBox* pCheckBox qobject_castQCheckBox*(sender());if (!pCheckBox){return;}for (int i 0; i m_pListWidget-count(); i){if (m_pListWidget-itemWidget(m_pListWidget-item(i)) pCheckBox){nIndex i;break;}}SlotItemClicked(nIndex); }void CMultiSelectComboBox::SlotItemStateChanged(int nState) {QString qstrText;int i 0;if (m_bHasAllSelected){i 1;}for (; i m_pListWidget-count(); i){QCheckBox* pCheckBox qobject_castQCheckBox*(m_pListWidget-itemWidget(m_pListWidget-item(i)));if(!pCheckBox){continue;}if (pCheckBox-isChecked()){qstrText pCheckBox-text() TransString2Unicode(、);}}qstrText.chop(1);m_pLineEdit-setText(qstrText);m_pLineEdit-setToolTip(qstrText); }使用示例 可以提升控件也可以直接new 提升 ui-comboBox-SetHasAllSelected(true);ui-comboBox-AddItem(Sine Wave, 1);ui-comboBox-AddItem(Random Data, 2);ui-comboBox-AddItem(Custom Data, 3);ui-comboBox-AddItem(Custom Data 2, 4);ui-comboBox-RemoveItem(1);如果此文帮助到你动动小手点个赞可好 。
http://www.hkea.cn/news/14376595/

相关文章:

  • 网站搭建价格长沙网上商城
  • 观点网站宁德住房和城乡建设部网站
  • 网站的全栈建设超市管理系统
  • 黔西南州网站建设公司网站图片太多
  • 做西班牙语网站取消网站备案号
  • 西安购物网站建设莆田网站建设技术托管
  • 太原整站优化肇庆seo服务方案
  • 刘涛给孩子网站做的广告沈阳人流价格
  • 动物网站建设策划书企业宣传模板
  • 对高校网站建设的期待江西网站建设价格低
  • 做调查的网站知乎网站视频插件怎么做
  • 如何申请一个网站空间晚上睡不着想看点正能量
  • 简约好看的网站模板招聘网58同城招聘
  • wordpress可以制作什么网站百度做广告多少钱
  • 城建公司建设网站基础资料深圳市中心房价
  • 西昌市住房与城乡建设厅网站毫州网站建设
  • 删除网站域名我图网
  • 做一款网站国际网站排名查询
  • 公司免费网站搭建免费做外贸的网站平台有哪些
  • 环保油 东莞网站建设网站设计样例
  • 北京住房和城乡建设官方网站海口网站建设的开发方案
  • 驻马店高端网站建设上海网站建设模板站霸网络
  • 网站建设开票分类编码朔州推广型网站建设
  • 顺企网贵阳网站建设做教育集团的网站
  • 营销型网站建设广州郑州全域静态管理
  • 网络营销软件网站怎么做页码
  • 网站的重要目录对百度进行了封禁小学网站建设方案
  • 郑州网站外包有限公司怎样注册
  • 重庆网站空间键词排名POS机网站怎么做
  • 做电影网站详细教程源服务器发生5xx错误