Qt - QComboBox的用户名+图标控件管理

 

方法一:

Qt之基于QComboBox的用户名控件QAccount

 

方法二:

        m_pAccountListWidget = new QListWidget(this);		//QListWidget对象
        m_pUserIdComboBox->setModel(m_pAccountListWidget->model());
        m_pUserIdComboBox->setView(m_pAccountListWidget);
    
    QStringList valueList;//历史记录保存列表

    for(ssize_t i = 0; i< m_histroyUserInfoList.size(); i++)
    {
        AccountInfo tmp = m_histroyUserInfoList[i];
        valueList << tmp.name;
        qDebug() << tmp.name;

        QImage image;
        AccountItem* account_item = new AccountItem(image, tmp.name, QString::number(tmp.mid));
        QListWidgetItem *list_item = new QListWidgetItem(m_pAccountListWidget);
        list_item->setSizeHint(QSize(200, 60));
        //m_pAccountListWidget->setMinimumHeight(100);
        m_pAccountListWidget->addItem(list_item);
        m_pAccountListWidget->setItemWidget(list_item, account_item);
    }

    /*
    QStringListModel* listModel;//数据来源模型
    QCompleter *completer = new QCompleter(this); //提供自动补全的对象可用于lineEdit和combobox
    listModel = new QStringListModel(valueList, this);//填充模型
    completer->setCaseSensitivity(Qt::CaseInsensitive);//设置忽略大小写 //Qt::CaseSensitive区分大小写
    //Qt::CaseInSensitive不区分大小写
    completer->setModel(listModel);//填充数据来源模型
   m_pUserIdComboBox->setCompleter(completer);//使lineEdit提供自动完成
   */

 

你可能感兴趣的:(QT)