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

Cpper
C/C++高級(jí)工程師 Android高級(jí)軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語(yǔ)言 程序猿
使用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);
}
不過(guò)有一個(gè)小問(wèn)題,就是CheckBox旁邊有false/true字符
posted on 2011-11-26 12:33 ccsdu2009 閱讀(5352) 評(píng)論(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网站| 亚洲精选中文字幕| 一本色道久久加勒比精品| 亚洲精品免费网站| 亚洲一区二区三区三| 亚洲一区在线看| 久久国产乱子精品免费女| 麻豆精品视频在线| 亚洲人成网站777色婷婷| 欧美顶级少妇做爰| 亚洲午夜激情在线| 欧美一区二区三区久久精品茉莉花| 午夜日韩在线| 免费不卡在线观看av| 欧美精品一区二区精品网| 欧美日韩免费看| 国内激情久久| 夜夜嗨av一区二区三区免费区| 亚洲主播在线播放| 嫩草成人www欧美| 中文av一区特黄| 蜜臀av性久久久久蜜臀aⅴ| 国产精品免费一区二区三区观看| 一区二区在线不卡| 亚洲欧美日韩网| 欧美国产高清| 欧美一区二区三区免费观看| 欧美日韩三级一区二区| 国产综合久久久久久鬼色| 一区二区福利| 欧美国产日韩xxxxx| 亚洲一区制服诱惑| 欧美日本国产在线| 在线精品视频一区二区三四| 亚洲免费在线观看| 亚洲高清视频一区二区| 欧美一区二区大片| 国产精品网站在线播放| 日韩西西人体444www| 六月天综合网| 久久av老司机精品网站导航| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 一区二区三区蜜桃网| 久久综合亚州| 国语自产精品视频在线看一大j8| 亚洲无玛一区| 亚洲精品日韩欧美| 欧美国产日韩一区二区| 在线精品亚洲一区二区| 久久精品理论片| 亚洲新中文字幕| 欧美日韩国产不卡在线看| 亚洲欧洲一区二区三区在线观看 | 欧美日韩在线播放一区| 亚洲另类春色国产| 亚洲国产mv| 欧美激情第五页| 亚洲日本免费| 亚洲视频1区2区| 亚洲视频在线免费观看| 免费不卡在线视频| 亚洲精品欧美日韩专区| 欧美激情综合| 欧美大片免费久久精品三p| 最新中文字幕一区二区三区| 亚洲高清免费视频| 欧美日韩国产成人| 午夜精品久久久久| 午夜欧美电影在线观看| 国产欧美一区二区精品婷婷 | 久久久久99精品国产片| 在线观看成人av| 欧美大片免费看| 欧美精品一区二区蜜臀亚洲| 99精品国产福利在线观看免费| 最新亚洲激情| 欧美午夜激情小视频| 久久精品一区蜜桃臀影院| 老鸭窝亚洲一区二区三区| 夜夜嗨av一区二区三区免费区| 亚洲无线一线二线三线区别av| 国产伪娘ts一区| 欧美成人精品一区二区| 欧美精品在线免费观看| 午夜免费在线观看精品视频| 欧美一区午夜视频在线观看| 亚洲国产小视频| 亚洲一区免费在线观看| 亚洲电影免费观看高清完整版在线| 亚洲国产欧美一区二区三区丁香婷| 欧美视频一区二区三区在线观看 | 亚洲最新视频在线播放| 亚洲欧美另类综合偷拍| 亚洲黄色成人| 亚洲一区在线播放| 亚洲美女在线看| 欧美一区二区三区在线观看视频 | 久久免费视频观看| 欧美日韩国产精品一卡| 久久精品中文字幕免费mv| 欧美寡妇偷汉性猛交| 久久高清免费观看| 欧美激情国产精品| 久久米奇亚洲| 国产精品一区二区久激情瑜伽| 亚洲高清在线精品| 尤物视频一区二区| 亚洲视频精选| 99精品99久久久久久宅男| 久久精品视频网| 久久激情中文| 国产精品女主播| 日韩视频不卡| 亚洲人妖在线| 模特精品在线| 久热精品视频在线观看| 亚洲欧美日韩国产精品| 欧美自拍偷拍午夜视频| 欧美大尺度在线观看| 久久精品日韩欧美| 国产精品极品美女粉嫩高清在线 | 牛牛国产精品| 韩国一区电影| 欧美一区二区三区在线| 欧美一区二区三区免费观看视频| 免费一级欧美片在线播放| 开心色5月久久精品| 国产亚洲美州欧州综合国| 一区二区三区视频在线观看| 99视频精品全部免费在线| 女生裸体视频一区二区三区| 欧美va天堂va视频va在线| 1024成人网色www| 蜜桃精品一区二区三区 | 亚洲日本国产| 夜夜嗨av一区二区三区四季av | 欧美日韩一本到| 99视频精品免费观看| 亚洲午夜激情在线| 欧美四级电影网站| 在线一区免费观看| 欧美在线一区二区三区| 国产亚洲精品资源在线26u| 久久久久免费| 亚洲国产美女精品久久久久∴| 亚洲欧洲另类国产综合| 欧美日韩国产不卡在线看| 在线亚洲一区二区| 久久久久网址| 亚洲欧洲在线免费| 国产精品海角社区在线观看| 亚洲一区二区成人| 久久婷婷丁香| 亚洲精品乱码| 欧美亚洲第一区| 香蕉久久夜色精品| 免费成人在线观看视频| 99视频精品全国免费| 国产精品一区二区在线| 久久久久久久999| 亚洲精品影视| 久久天堂成人| 一区二区三区欧美亚洲| 国产婷婷色综合av蜜臀av| 欧美国产日韩一区二区三区| 国产精品99久久久久久有的能看| 久久久99免费视频| 99视频超级精品| 狠狠做深爱婷婷久久综合一区 | 亚洲一二区在线| 国产一区二区三区四区老人| 你懂的成人av| 亚洲欧美成人精品| 亚洲国产精彩中文乱码av在线播放| 亚洲性视频网址| 欧美色另类天堂2015| 欧美jjzz| 亚洲综合精品四区| 亚洲风情在线资源站| 欧美视频一区| 免费观看成人| 性娇小13――14欧美| 亚洲欧洲精品一区二区三区不卡| 欧美一区二区三区播放老司机| 日韩视频精品| 亚洲国产高清aⅴ视频| 国产精自产拍久久久久久蜜| 欧美激情四色| 另类欧美日韩国产在线| 亚洲欧美自拍偷拍| 亚洲区一区二区三区| 久久午夜视频| 一本一本a久久| 亚洲日本欧美天堂| 亚洲国产精品久久久久秋霞不卡 | 欧美大片免费看|