• <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 閱讀(5616) 評論(0)  編輯 收藏 引用 所屬分類: Qt

            久久综合中文字幕| 国产精品久久久久久五月尺| 久久最近最新中文字幕大全| 成人亚洲欧美久久久久| 伊人久久大香线蕉av一区| 欧美久久精品一级c片片| 热综合一本伊人久久精品| 一本久久a久久精品亚洲| 亚洲精品高清国产一久久| 日本WV一本一道久久香蕉| 亚洲天堂久久精品| 久久天天躁狠狠躁夜夜avapp| 青青青青久久精品国产| 狼狼综合久久久久综合网| 久久国产精品国语对白| 久久精品国产一区| 亚洲国产美女精品久久久久∴| 久久乐国产精品亚洲综合| 国产日产久久高清欧美一区| 久久久一本精品99久久精品66| 亚洲伊人久久成综合人影院| 久久精品一区二区三区中文字幕| 国产精品久久久久久搜索| 久久亚洲欧美国产精品 | 99精品国产综合久久久久五月天| 国产叼嘿久久精品久久| 久久久久久免费一区二区三区| 亚洲AV成人无码久久精品老人| 欧美亚洲国产精品久久| 久久久久久国产精品无码下载| 97r久久精品国产99国产精| 久久久久久亚洲Av无码精品专口| 久久久久久精品免费看SSS| 热久久视久久精品18| 欧美精品乱码99久久蜜桃| 日韩精品久久久久久久电影| 久久人妻无码中文字幕| 精品久久无码中文字幕| 国产亚洲美女精品久久久久狼| 精品久久久久久久| 精品久久久久久久中文字幕|