zoukankan      html  css  js  c++  java
  • QListWidget添加自定义的widget并自动排序

    自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:

    https://www.cnblogs.com/bclshuai/p/11380657.html

    1.问题描述

    项目中需要添加自定义的widget,有图片文字和按钮,如下图所示,但是Qlistwidget常规只能添加图片加文字,就需要自定义一个widget上面添加内容,并且自动按照相似度排序。

     2.实现步骤

    (1)自定义widgetItem界面

    (2)定义类去实现这个界面

    //头文件
    #ifndef COMPAREVIEW_H #define COMPAREVIEW_H #include <QWidget> #include "ui_CompareView.h" #include <QImage> #include"FaceDefine.h" class CompareView : public QWidget { Q_OBJECT public: CompareView(MatchData matchData); ~CompareView(); private: Ui::MatchWidget ui; MatchData m_matchData; }; #endif // COMPAREVIEW_H //源文件 #include "CompareView.h" CompareView::CompareView(MatchData matchData) { ui.setupUi(this); setWindowFlags(Qt::FramelessWindowHint); this->resize(120, 120); m_matchData = matchData; ui.MatchPercent->setText(QString::number(m_matchData.matchPercent*100)+"%"); QPixmap pix(matchData.strTargetPath); pix = pix.scaled(this->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); ui.PicTarget->setPixmap(pix); } CompareView::~CompareView() { }

    (3)定义往里面添加的函数

    int FaceMatch::AddToMatchList(MatchData matchData)
    {
    	CompareView* cItemWidget = new CompareView(matchData);//新建widget对象
    	QListWidgetItem* pItem = new QListWidgetItem(QString::number(matchData.matchPercent));//新建listwidget的一个item
    	pItem->setData(257, matchData.matchPercent);//设置相似度,方便按照相似度排序
    	pItem->setTextAlignment(Qt::AlignCenter);//设置居中显示
    	pItem->setSizeHint(QSize(130, 130));//设一项的大小
    	ui.listMatchWidget->addItem(pItem);//加入listwidget
    	ui.listMatchWidget->setItemWidget(pItem, cItemWidget);//将新建的widget加入到item中
    	ui.listMatchWidget->sortItems(Qt::DescendingOrder);//自动排序
    	ui.labelMatchCount->setText(QString::number(ui.listMatchWidget->count()));//设置总的数量
    	return HPR_OK;
    }
    

      

  • 相关阅读:
    教你怎么买虚拟空间(转)
    一个超棒的jQuery通知栏插件 jBar
    GBin1专题之Web热点秀#12
    19套最新的免费图标字体集
    帮助你操作数字和处理数字格式的javascript类库 Numeral.js
    分享两个超棒的帮助你生成占位图片(placeholder image)的在线工具
    分享40个超棒的CSS3按钮教程
    一款非常棒的CSS 3D下拉式菜单实现Makisu
    47款超酷超实用的CSS3技巧教程
    不容错过的精选免费jQuery UI主题大荟萃
  • 原文地址:https://www.cnblogs.com/bclshuai/p/13749268.html
Copyright © 2011-2022 走看看