青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Cpper
C/C++高級工程師 Android高級軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿
使用Delegate具體如下:
class QLineDelegate : public QStyledItemDelegate
{
    Q_OBJECT
public:
    QLineDelegate(QTableView
* tableView);
protected:
    
void paint(QPainter* painter,const QStyleOptionViewItem& option,const QModelIndex& index) const;
    
bool editorEvent(QEvent *event,
                                         QAbstractItemModel 
*model,
                                         
const QStyleOptionViewItem &option,
                                         
const QModelIndex &index) ;
private:
    QPen         pen;
    QTableView
*  view;
};

static QRect CheckBoxRect(const QStyleOptionViewItem &view_item_style_options)
{
    QStyleOptionButton check_box_style_option;
    QRect check_box_rect 
= QApplication::style()->subElementRect(
        QStyle::SE_CheckBoxIndicator,
        
&check_box_style_option);

    QPoint check_box_point(view_item_style_options.rect.x() 
+
                           view_item_style_options.rect.width() 
/ 2 -
                           check_box_rect.width() 
/ 2,
                           view_item_style_options.rect.y() 
+
                           view_item_style_options.rect.height() 
/ 2 -
                           check_box_rect.height() 
/ 2);
    
return QRect(check_box_point, check_box_rect.size());
}


QLineDelegate::QLineDelegate(QTableView
* tableView)
{
    
int gridHint = tableView->style()->styleHint(QStyle::SH_Table_GridLineColor, new QStyleOptionViewItemV4());
    QColor gridColor 
= static_cast<QRgb>(gridHint);
    pen 
= QPen(gridColor,0,tableView->gridStyle());
    view 
= tableView;
}

void QLineDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option,const QModelIndex& index)const
{
    
bool checked = index.model()->data(index, Qt::DisplayRole).toBool();

    
if(index.column() == 0)
    {
        QStyleOptionButton check_box_style_option;
        check_box_style_option.state 
|= QStyle::State_Enabled;
        
if(checked)
        {
            check_box_style_option.state 
|= QStyle::State_On;
        }
        
else
        {
            check_box_style_option.state 
|= QStyle::State_Off;
        }
        check_box_style_option.rect 
= CheckBoxRect(option);
        QApplication::style()
->drawControl(QStyle::CE_CheckBox,&check_box_style_option,painter);
    }

    QStyledItemDelegate::paint(painter,option,index);
    QStyleOptionViewItem itemOption(option);
    
if(itemOption.state & QStyle::State_HasFocus)
        itemOption.state 
= itemOption.state ^ QStyle::State_HasFocus;
    QStyledItemDelegate::paint(painter,itemOption,index);
    QPen oldPen 
= painter->pen();
    painter
->setPen(pen);
    painter
->drawLine(option.rect.topRight(),option.rect.bottomRight());
    painter
->drawLine(itemOption.rect.bottomLeft(),itemOption.rect.bottomRight());
    painter
->setPen(oldPen);
}

bool QLineDelegate::editorEvent(QEvent *event,
                                   QAbstractItemModel 
*model,
                                   
const QStyleOptionViewItem &option,
                                   
const QModelIndex &index) {
    
if((event->type() == QEvent::MouseButtonRelease) ||
        (
event->type() == QEvent::MouseButtonDblClick))
    {
        QMouseEvent 
*mouse_event = static_cast<QMouseEvent*>(event);
        
if(mouse_event->button() != Qt::LeftButton ||
           
!CheckBoxRect(option).contains(mouse_event->pos()))
        {
            
return false;
        }

        
if(event->type() == QEvent::MouseButtonDblClick)
        {
            
return true;
        }
    }
    
else if(event->type() == QEvent::KeyPress)
    {
        
if(static_cast<QKeyEvent*>(event)->key() != Qt::Key_Space &&
           static_cast
<QKeyEvent*>(event)->key() != Qt::Key_Select)
        {
            
return false;
        }
    }
    
else
    {
        
return false;
    }

    
bool checked = index.model()->data(index, Qt::DisplayRole).toBool();
    
return model->setData(index, !checked, Qt::EditRole);
}
不過有一個小問題,就是CheckBox旁邊有false/true字符
posted on 2011-11-26 12:33 ccsdu2009 閱讀(5341) 評論(0)  編輯 收藏 引用 所屬分類: QT編程
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            狠狠久久五月精品中文字幕| 欧美日韩在线播放一区二区| 韩国精品在线观看| 久久精品视频亚洲| 久久久久高清| 亚洲电影下载| 亚洲国产欧美另类丝袜| 欧美电影在线播放| 亚洲夜晚福利在线观看| 亚洲综合精品一区二区| 国产一区二区三区日韩欧美| 麻豆精品一区二区综合av| 欧美成人精品不卡视频在线观看| 99热这里只有精品8| 亚洲视频自拍偷拍| 樱桃成人精品视频在线播放| 欧美激情偷拍| 国产精品卡一卡二卡三| 久久久免费观看视频| 免费观看日韩| 欧美一区二区国产| 美女视频网站黄色亚洲| 亚洲一级影院| 另类人畜视频在线| 亚洲欧美日韩精品久久亚洲区 | 久久精品国产99| 亚洲国产精品久久久久秋霞影院| 99亚洲精品| 狠狠久久亚洲欧美专区| 一区二区三区视频在线播放| 黄色成人av网站| 一区二区三区欧美| 91久久线看在观草草青青| 亚洲午夜av电影| 亚洲经典在线看| 午夜一级在线看亚洲| 99re6热只有精品免费观看| 香蕉久久精品日日躁夜夜躁| 一区二区三区四区国产精品| 久久精品欧美日韩| 欧美在线1区| 欧美日韩一区视频| 免费短视频成人日韩| 国产精品网站在线| 亚洲激情二区| **网站欧美大片在线观看| 亚洲一区二区三区影院| 一区二区三区视频在线播放| 久久在线视频| 久久久久久久综合| 国产精品一区二区视频| 99视频精品| 日韩亚洲精品电影| 你懂的亚洲视频| 免费成人美女女| 国产亚洲欧洲| 午夜精品亚洲| 欧美一区二区三区成人| 国产精品v欧美精品v日韩| 亚洲国内精品在线| 亚洲国产专区| 久久综合五月| 欧美国产一区二区| 亚洲国产99| 蜜桃久久av一区| 欧美成人免费在线观看| 在线激情影院一区| 久久激情五月婷婷| 久久这里有精品视频| 狠狠色狠狠色综合日日小说| 欧美一区二区三区四区在线观看地址 | 国产精品看片资源| 亚洲综合色丁香婷婷六月图片| 在线亚洲免费| 国产精品theporn| 亚洲一区二区免费在线| 欧美中文字幕视频在线观看| 国产欧美一级| 久久久www成人免费精品| 欧美成年人视频| 亚洲人成网站999久久久综合| 欧美电影美腿模特1979在线看 | 香蕉久久一区二区不卡无毒影院| 国产精品乱看| 欧美伊久线香蕉线新在线| 久久综合国产精品| 亚洲人成7777| 国产精品播放| 久久经典综合| 亚洲日本久久| 欧美一级艳片视频免费观看| 国产在线拍偷自揄拍精品| 免播放器亚洲一区| 99这里只有精品| 久久久久国产精品人| 亚洲精选大片| 国产亚洲视频在线观看| 蜜桃久久av| 亚洲男人av电影| 欧美好骚综合网| 亚洲欧美激情精品一区二区| 伊人激情综合| 国产精品video| 久久夜色精品国产欧美乱| 亚洲免费福利视频| 久久综合中文字幕| 亚洲一区一卡| 亚洲高清二区| 国产精品裸体一区二区三区| 久久亚洲综合色一区二区三区| 日韩一级不卡| 欧美阿v一级看视频| 亚洲综合视频一区| 亚洲精品乱码久久久久久黑人 | 欧美日韩精品系列| 久久精品一区四区| 亚洲天堂视频在线观看| 亚洲成人在线网| 久久精品日产第一区二区| 一片黄亚洲嫩模| 亚洲国产一成人久久精品| 国产欧美一区二区精品忘忧草| 欧美久久影院| 你懂的成人av| 蜜臀久久久99精品久久久久久| 欧美在线免费观看| 亚洲午夜在线| 99在线热播精品免费| 亚洲福利视频免费观看| 久久综合狠狠综合久久综合88| 亚洲自拍三区| 亚洲欧美另类国产| 在线综合亚洲欧美在线视频| 日韩视频在线永久播放| 亚洲国产精品毛片| 1024成人| 亚洲国产成人av在线| 在线看片欧美| 亚洲国产成人av好男人在线观看| 黄色在线一区| 一区二区三区在线免费播放| 国产一区二区精品在线观看| 国产婷婷色一区二区三区| 国产欧美精品在线观看| 国产精品一区二区欧美| 国产精品美女一区二区在线观看| 欧美日韩精品三区| 国产精品久久久久av| 国产精品久久久久77777| 国产精品影音先锋| 国产亚洲精品美女| 伊人激情综合| 99国产精品99久久久久久粉嫩| 99国产成+人+综合+亚洲欧美| 中文久久乱码一区二区| 亚洲香蕉在线观看| 欧美在线电影| 久久综合影音| 亚洲福利在线看| 日韩一区二区精品视频| 亚洲欧美久久| 欧美一区国产一区| 久久伊人一区二区| 欧美日本高清| 国产欧美日韩91| 在线精品视频一区二区| 一区二区国产在线观看| 校园春色综合网| 蜜桃精品一区二区三区 | 亚洲欧美自拍偷拍| 久久精品国产欧美激情| 欧美大片在线看| 一个色综合av| 久久久精品国产免大香伊| 欧美国产丝袜视频| 国产精品美女久久久免费| 在线看无码的免费网站| 中文久久乱码一区二区| 狼人社综合社区| 亚洲免费成人av电影| 亚洲欧美一区二区激情| 女人天堂亚洲aⅴ在线观看| 国产精品久久久久久久久婷婷| 激情成人av在线| 一区二区三区久久久| 久久青草欧美一区二区三区| 亚洲区国产区| 欧美综合第一页| 欧美日韩一区二区三区| 狠狠综合久久av一区二区小说| 亚洲最新中文字幕| 久久久久久香蕉网| 一本色道久久综合精品竹菊 | 久久精精品视频| 欧美三级电影大全| 亚洲国产精品第一区二区三区| 午夜久久美女| 99成人在线| 欧美成人免费小视频| 激情五月***国产精品|