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

建设企业网站可信度软件产品如何做网站推广

建设企业网站可信度,软件产品如何做网站推广,网站建设对教育解决方案,域名备案和网站备案有什么不同往期回顾 Qt绘图与图形视图之绘制带三角形箭头的窗口的简单介绍-CSDN博客 Qt绘图与图形视图之Graphics View坐标系的简单介绍-CSDN博客 Qt模型视图代理之MVD(模型-视图-代理)概念的简单介绍-CSDN博客 Qt模型视图代理之QTableView应用的简单介绍 一、最终效果 二、设计思路 这里…往期回顾 Qt绘图与图形视图之绘制带三角形箭头的窗口的简单介绍-CSDN博客 Qt绘图与图形视图之Graphics View坐标系的简单介绍-CSDN博客 Qt模型视图代理之MVD(模型-视图-代理)概念的简单介绍-CSDN博客 Qt模型视图代理之QTableView应用的简单介绍 一、最终效果 二、设计思路 这里我们做了三个自定义代理我们重点看一下是怎么实现的以及打开excle表格的操作其他的了解为主因为实际开发中一般是不用这个来做的。 1、打开excle实现 1.1、QAxObject类 1.1.1、基本概念 QAxObject是Qt中用于与ActiveX对象进行交互的类。通过QAxObject可以在Qt应用程序中使用COM组件和ActiveX控件从而实现与外部应用程序的集成。 QAxObject类提供了许多方法和属性用于管理ActiveX对象的创建、调用方法、设置属性和获取属性等操作。可以使用QAxObject来实例化COM组件并与其进行通信从而实现对外部功能的调用和控制。 1.1.2、常用方法和属性 setProperty(propertyName, value):设置ActiveX对象的属性值。property(propertyName):获取ActiveX对象的属性值。dynamicCall(methodName, arg1, arg2, ...):调用ActiveX对象的方法。querySubObject(subObjectName):获取ActiveX对象的子对象。control():返回ActiveX对象的IDispatch接口指针。setControl(progID):设置ActiveX对象的ProgID。 1.2、实现步骤 基本上都是这几个步骤后面需要用到的时候参考这个来就行 1创建一个QAxObject对象excel并设置其控制为Excel.Application然后隐藏Excel窗体。 QAxObject *excel new QAxObject(this);excel-setControl(Excel.Application);excel-setProperty(Visible, false); //显示窗体看效果,选择ture将会看到excel表格被打开excel-setProperty(DisplayAlerts, true);QAxObject *workbooks excel-querySubObject(WorkBooks); //获取工作簿(excel文件)集合 2获取用户选择的Excel文件路径并打开该文件  QString str QFileDialog::getOpenFileName(this, u8打开excel,D:/MyQtCreatorProject/9_2_tableView,u8Excel 文件(*.xls *.xlsx));//打开刚才选定的excelworkbooks-dynamicCall(Open(const QString), str);QAxObject *workbook excel-querySubObject(ActiveWorkBook);QAxObject *worksheet workbook-querySubObject(WorkSheets(int),1);QAxObject *usedRange worksheet-querySubObject(UsedRange); //获取表格中的数据范围 3读取Excel文件中的数据并将其存储在一个二维QList中  //将Excel数据转换为QStringList的二维数组contentListQVariant var usedRange-dynamicCall(Value); //将所有的数据读取刀QVariant容器中保存QListQListQVariant excel_list; //用于将QVariant转换为Qlist的二维数组QVariantList varRowsvar.toList();if(varRows.isEmpty()){return;}const int row_count varRows.size();QVariantList rowData;for(int i0;irow_count;i){rowData varRows[i].toList();excel_list.push_back(rowData);} 4将Excel数据转换为QStringList的二维数组contentList  //将Excel数据转换为QStringList的二维数组contentListQListQStringList contentList;for(int i 0; irow_count; i){QListQVariant curList excel_list.at(i);int curRowCount curList.size();QStringList oneLineStrlist;for(int j 0; j curRowCount; j){QString content curList.at(j).toString();oneLineStrlist content;}contentList oneLineStrlist;} 5关闭Excel文件并退出Excel应用程序  /关闭Excel文件并退出Excel应用程序workbook-dynamicCall( Close(Boolean), false );excel-dynamicCall( Quit(void) );delete excel; 6遍历contentList将数据填充到QStandardItemModel中最后显示在QTableView中即可 2、自定义组件代码 2.1、需要实现函数 自定义代理组件都必须实现如下的4个函数: createEditor创建用于编辑模型数据的widget组件如一个QSpinBox组件或一个QComboBox组件;setEditorData     函数从数据模型获取数据供widget组件进行编辑;setModelData    将widget.上的数据更新到数据模型;updateEditorGeometry  用于给widget组件设置一个合适的大小。 2.2、自定义组件示例 我们选择其中一个自定义组件CComboBoxDelegate作为示例来看 这个自定义代理实现的功能是用户双击该控件弹出下拉框共三个选项用户可以选择其中一个 并显示。首先派生于QItemDelegate类在其CComboBoxDelegate.h文件里就是四个函数 2.2.1、createEditor 创建用于编辑模型数据的widget组件这里是QComboBox组件 QWidget *CComboBoxDelegate::createEditor(QWidget *parent,const QStyleOptionViewItem option, const QModelIndex index) const {QComboBox *editor new QComboBox(parent);editor-addItem(u8优);editor-addItem(u8良);editor-addItem(u8一般);return editor; } 2.2.2、setEditorData       从数据模型获取数据供widget组件进行编辑;  void CComboBoxDelegate::setEditorData(QWidget *editor, const QModelIndex index) const {QString str index.model()-data(index, Qt::EditRole).toString();QComboBox *comboBox static_castQComboBox*(editor);comboBox-setCurrentText(str); } 2.2.3、setModelData      将widget上的数据更新到数据模型;  void CComboBoxDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex index) const {QComboBox *comboBox static_castQComboBox*(editor);QString str comboBox-currentText();model-setData(index, str, Qt::EditRole); } 2.2.4、updateEditorGeometry   用于给widget组件设置一个合适的大小。  void CComboBoxDelegate::updateEditorGeometry(QWidget *editor,const QStyleOptionViewItem option, const QModelIndex index) const {editor-setGeometry(option.rect); } 3、tableView的数据显示在textEdit  void Widget::on_btnReshowData_clicked() {ui-textEdit-clear(); //清空QStandardItem *aItem;QString str;//获取表头文字int i,j;for (i0; i m_pItemModel-columnCount(); i){aItem m_pItemModel-horizontalHeaderItem(i); //获取表头的一个项数据strstraItem-text()\t; //用TAB间隔文字}ui-textEdit-append(str); //添加为文本框的一行//获取数据区的每行for (i0; i m_pItemModel-rowCount();i){str;for(j0; jm_pItemModel-columnCount()-1; j){aItem m_pItemModel-item(i,j);str str aItem-text()QString::asprintf(\t); //以 TAB分隔}aItem m_pItemModel-item(i,j); //最后一行if (aItem-checkState()Qt::Checked)str str1;elsestr str0;ui-textEdit-append(str);} } 以上就是Qt里QTableView应用的简单介绍。其他的按钮逻辑实现就没有过多赘述有需要的话建议大家阅读源码。 都看到这里了点个赞再走呗朋友~ 加油吧预祝大家变得更强
http://www.w-s-a.com/news/409584/

相关文章:

  • 网站建设企业号助手贵阳景观设计公司
  • 网站开发第三方建设银行个人网站显示不了
  • 无锡兼职做网站郑州网站建设搜索优化
  • iis禁止通过ip访问网站品牌策划案例ppt
  • 电子商务网站建设实习seo黑帽优化
  • 如何做好网站建设销售闸北集团网站建设
  • 重庆装饰公司北京官网seo推广
  • 深圳网站设计灵点网络品牌网站充值接口
  • 建设书局 网站国内国际时事图片
  • 成都 网站建设培训学校屏蔽wordpress自带编辑器
  • 公司网站制作工作室中天建设集团有限公司第五建设公司
  • 网站的网页设计毕业设计苏州宣传册设计广告公司
  • 商城网站优化方案注册公司制作网站
  • 政务服务网站建设整改报告wordpress的导航代码
  • 图片素材网站建设做教育网站用什么颜色
  • 快站淘客中转页wordpress商业插件
  • 可信网站网站认证免费软件下载网站免费软件下载网站
  • 小学生网站制作最新域名网站
  • 奖励网站代码设计制作ppt时
  • 茂名优化网站建设门户网站和部门网站的区别
  • 一尊网 又一个wordpress站点wordpress获取当前文章名称
  • 营销型网站多少钱新建网站的外链多久生效
  • 网站空间怎么选择tp5企业网站开发百度云
  • 网站建设saas排名成立公司的流程和要求及费用
  • 网站建设共享骨科医院网站优化服务商
  • 肯尼亚网站域名万能进销存软件免费版
  • 做商城网站价格上海做网站建设
  • 广州制作外贸网站公司阿里云网站模板
  • 做网站为什么要买服务器十堰城市建设网站
  • 西安网站seo技术厂家东莞如何制作免费的网页