#ifndef MYLISTVIEW_H
#define MYLISTVIEW_H
#include <QListView>
#include <QtGui/QWidget>
#include <QMainWindow>
#include <QListView>
#include <QStandardItem>
#include <QStandardItemModel>
#include <QModelIndex>
#include <QString>
class MylistView : public QListView
{
Q_OBJECT
public:
explicit MylistView(QObject *parent = 0);
int appendString(QString &string);
signals:
public slots:
private:
QListView *listView;
QStandardItemModel *standardItemModel;
};
#endif // MYLISTVIEW_H
====================================================================
#include "mylistview.h"
MylistView::MylistView(QObject *parent)
{
listView = new QListView(this);
standardItemModel = new QStandardItemModel(this);
QStringList strList;
strList.append("string1");
strList.append("string2");
strList.append("string3");
strList.append("string4");
strList.append("string5");
strList.append("string6");
strList.append("string7");
strList << "string8";
strList += "string9";
int nCount = strList.size();
for(int i = 0; i < nCount; i++)
{
QString string = static_cast<QString>(strList.at(i));
QStandardItem *item = new QStandardItem(string);
if(i % 2 == 1)
{
QLinearGradient linearGrad(QPointF(0, 0), QPointF(200, 200));
linearGrad.setColorAt(0, Qt::darkGreen);
linearGrad.setColorAt(1, Qt::yellow);
QBrush brush(linearGrad);
item->setBackground(brush);
}
standardItemModel->appendRow(item);
}
listView->setModel(standardItemModel);
listView->setFixedSize(200,300);
// connect(listView,SIGNAL(clicked(QModelIndex)),this,SLOT(itemClicked(QModelIndex)));
}
int MylistView::appendString(QString &string)
{
QStandardItem *item = new QStandardItem(string);
QLinearGradient linearGrad(QPointF(0, 0), QPointF(200, 200));
linearGrad.setColorAt(0, Qt::darkGreen);
linearGrad.setColorAt(1, Qt::yellow);
QBrush brush(linearGrad);
item->setBackground(brush);
standardItemModel->appendRow(item);
}
QT __ MyListView__操作
最新推荐文章于 2024-05-05 10:35:34 发布