• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            逛奔的蝸牛

            我不聰明,但我會很努力

               ::  :: 新隨筆 ::  ::  :: 管理 ::

            In order to change the color of the items in the model you need to reimplement the data function and return the colors you want for theQt::BackgroundColorRole or the Qt::TextColorRole roles. See the documentation:

            http://doc.trolltech.com/4.3/qabstractitemmodel.html#data

            http://doc.trolltech.com/4.3/qt.html#ItemDataRole-enum

            The example below demonstrates how this can be achieved.

            Note that you can also reimplement the QItemDelegate::paint() in order to change the color the items in a view. See the following FAQ:

            http://trolltech.com/developer/knowledgebase/faq.2007-11-21.7774969370/

            #include <QtGui>
            
            class ColorModel : public QAbstractTableModel
            {
            public:
                ColorModel(QObject *parent) 
                {
                    QStringList firstRow;
                    QStringList secondRow;
            
                    for (int i = 0; i < 5; i++ ) {
                        firstRow.insert(i,"Row " + QString::number(i+1));
                    }
                    for (int i = 0; i < 5; i++ ) {
                        secondRow.insert(i,"Row " + QString::number(i+1));
                    }
            
                    stringList << firstRow << secondRow;
                }
            
                // Returns the number of rows
                int rowCount ( const QModelIndex & parent = QModelIndex() ) const
                {
                    return 2;
                }
            
                // Returns the number of columns
            
                int columnCount ( const QModelIndex & parent = QModelIndex() ) const
                {
                    return 5;
                }
            
                // Returns an appropriate value for the requested data.
                // If the view requests an invalid index or if the role is not
                // Qt::DisplayRole, Qt::BackgroundColorRole or QTextColorRole, an invalid variant is returned.
                // Any valid index that corresponds to a string for the index's column and row in
                // the stringlist is returned for the Qt::DisplayRole
            
                QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const 
                {
                    if (!index.isValid())
                        return QVariant();
            
                    if (role == Qt::BackgroundRole) {
                        if (index.row() == 0)
                            return QColor(Qt::blue);
                        else
                            return QColor(Qt::white);
                    } else if (role == Qt::DisplayRole) {
                        QStringList list = (QStringList)stringList.at(index.row());
                        return list.at(index.column());
                    } else if (role == Qt::ForegroundRole ) {
                        if (index.row() == 1)
                            return QColor(Qt::red);
                    } 
            
                    return QVariant();
                }
            
            private: 
                // Each row will consist of a list of strings
                QList<QStringList>stringList;
            };
            
            int main(int argc, char **argv)
            {
                QApplication app(argc, argv);
                QWidget widget;
            
                QHBoxLayout *layout = new QHBoxLayout(&widget);
                QTreeView *treeView = new QTreeView(&widget);
                QTableView *tableView = new QTableView(&widget);
                ColorModel *model = new ColorModel(tableView);
                tableView->setModel(model);
                treeView->setModel(model);
                layout->addWidget(treeView);
                layout->addWidget(tableView);
                widget.show();
                return app.exec(); 
            }
            posted on 2009-05-18 17:26 逛奔的蝸牛 閱讀(846) 評論(0)  編輯 收藏 引用 所屬分類: Qt
            亚洲国产精品成人久久蜜臀 | 久久91这里精品国产2020| 久久r热这里有精品视频| 国产成人久久777777| 久久精品国产色蜜蜜麻豆| 999久久久免费精品国产| 久久综合久久性久99毛片| 久久久老熟女一区二区三区| 精品熟女少妇aⅴ免费久久| 久久99精品国产自在现线小黄鸭 | 久久久久人妻一区二区三区 | 欧美黑人又粗又大久久久| 国内精品免费久久影院| 国内精品伊人久久久久av一坑 | 久久亚洲国产精品五月天婷| 99久久无码一区人妻a黑| 伊人热热久久原色播放www| 伊人久久大香线蕉精品| 久久午夜伦鲁片免费无码| 久久久精品人妻无码专区不卡| 亚洲国产精品无码成人片久久| 久久99热这里只有精品国产| 精品久久久久久久无码| 无码精品久久一区二区三区| 亚洲国产精品久久久久婷婷老年 | 日韩乱码人妻无码中文字幕久久 | 久久精品国产一区二区 | 久久午夜福利电影| 99久久99久久精品国产| 91久久婷婷国产综合精品青草| 精品国产乱码久久久久软件| 思思久久99热免费精品6| 久久亚洲欧洲国产综合| 久久男人AV资源网站| 青青草国产97免久久费观看| 久久无码一区二区三区少妇| 香蕉99久久国产综合精品宅男自 | 99久久综合国产精品二区| 久久免费高清视频| 精品久久人人妻人人做精品| 精品久久久久中文字幕一区|