• <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

            精品久久久无码21p发布| 性欧美大战久久久久久久| 久久综合给合久久狠狠狠97色| 婷婷五月深深久久精品| 国产精品久久久久影院嫩草| 国产成人久久精品麻豆一区| 久久久久18| 久久丫精品国产亚洲av不卡| 国产精品久久久久久久久久免费| 一级a性色生活片久久无少妇一级婬片免费放| 一本色道久久综合狠狠躁篇 | 波多野结衣久久| 久久精品人人做人人爽电影蜜月| 日韩亚洲欧美久久久www综合网 | 久久99亚洲综合精品首页| 久久综合九色综合网站| 99热都是精品久久久久久| 亚洲国产精品久久电影欧美| 久久久WWW免费人成精品| 97久久超碰成人精品网站| 久久久久久精品免费看SSS| 久久久国产精品| 国产一区二区精品久久岳| 久久久无码精品亚洲日韩按摩 | 久久精品国产亚洲Aⅴ蜜臀色欲| 久久精品国产99久久无毒不卡| 久久婷婷五月综合色奶水99啪| 久久久精品视频免费观看 | 亚洲国产成人久久精品动漫| 久久久久亚洲AV无码永不| 久久久久久久91精品免费观看| 久久有码中文字幕| 久久精品国产亚洲7777| 久久国产一片免费观看| 久久精品成人免费观看97| 国产精品久久久久久久午夜片| 伊人丁香狠狠色综合久久| 曰曰摸天天摸人人看久久久| 99精品久久久久久久婷婷| 精品久久久久久无码中文字幕| 精品国产91久久久久久久a|