• <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>
            隨筆 - 70, 文章 - 0, 評論 - 9, 引用 - 0
            數據加載中……

            QTableView, QTableWidget 用法整理

            1  根據數據內容設定寬
                resizeColumnToContents, resizeColumnsToContents
            void QTableView::resizeColumnToContents ( int column ) [slot]
            void QTableView::resizeColumnsToContents () [slot]

            2  去掉網格 setShowGrid

            3  委托
                需要在單元格里進行特別處理,如需要QLineEdit, QComcoBox等時,需要用委托機制來實現。
                委托需要實現的幾個函數
                QTableView, QTableWidget對其數據進行委托:setItemDelegate, setItemDelegateForColumn, setItemDelegateForRow
                委托時QItemDelegate需要重新實現的函數:createEditor(創建控件),setEditorData(設置值),setModelData,updateEditorGeometry(設置大小)
                部分實現代碼示例
            QWidget *LLineEditDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
            {
                QLineEdit 
            *editor = new CompleteLineEdit(parent);
                
            return editor;
            }


            void LLineEditDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const
            {
                QString value 
            = index.model()->data(index, Qt::EditRole).toString();
                QLineEdit 
            *lineEdit = static_cast<QLineEdit *>(editor);
                lineEdit
            ->setText(value);
            }


            void LLineEditDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
            {
                QLineEdit 
            *lineEdit = static_cast<QLineEdit *>(editor);
                QString value 
            = lineEdit->text();
                model
            ->setData(index, value, Qt::EditRole);
            }


            void LLineEditDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const
            {
                editor
            ->setGeometry(option.rect);
            }

            posted on 2011-03-24 09:58 seahouse 閱讀(5603) 評論(0)  編輯 收藏 引用 所屬分類: Qt

            欧美喷潮久久久XXXXx| 久久精品中文字幕第23页| 久久丫忘忧草产品| 日韩人妻无码精品久久久不卡| 久久久免费精品re6| 精品久久久久久亚洲| 久久青青国产| 国产美女久久久| 亚洲美日韩Av中文字幕无码久久久妻妇| 亚洲国产日韩欧美综合久久| 欧美大香线蕉线伊人久久| 曰曰摸天天摸人人看久久久| 久久99热这里只频精品6| 国产精品一久久香蕉产线看| 久久黄视频| 精品久久一区二区三区| 亚洲一区精品伊人久久伊人 | 欧美伊香蕉久久综合类网站| 亚洲综合久久夜AV | 精品久久久久久久久中文字幕| 久久精品国产精品亜洲毛片| 无码日韩人妻精品久久蜜桃| 久久精品?ⅴ无码中文字幕| 久久国产免费观看精品3| 亚洲精品国精品久久99热| 99久久国产免费福利| 国产成人久久精品激情| 亚洲国产精品无码久久久秋霞2| 日本精品久久久久久久久免费| 97久久国产亚洲精品超碰热| 伊人久久大香线蕉AV色婷婷色| 污污内射久久一区二区欧美日韩| 青青草国产精品久久久久| 久久亚洲私人国产精品vA| 久久国产劲爆AV内射—百度| 亚洲国产婷婷香蕉久久久久久| 久久精品免费网站网| 久久se精品一区二区影院| 一本伊大人香蕉久久网手机| 国产精品一久久香蕉产线看| 久久精品草草草|