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

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>
            欧美日韩免费观看一区二区三区| 欧美中文字幕不卡| 国产精品私拍pans大尺度在线| 欧美高清在线视频| 蜜臀久久99精品久久久久久9| 美日韩精品视频免费看| 欧美日本中文字幕| 国产精品www.| 激情欧美一区二区| 一本色道久久综合亚洲精品小说 | 久久噜噜噜精品国产亚洲综合 | 亚洲一区二区精品视频| 欧美一区二区| 欧美成人综合| 国产欧美在线视频| 亚洲成人在线| 亚洲性图久久| 欧美国产一区二区在线观看| 999在线观看精品免费不卡网站| 午夜精品免费在线| 欧美黄色大片网站| 国产日韩欧美一区二区三区在线观看| 伊人久久亚洲影院| 午夜精品电影| 久久免费黄色| 亚洲国产另类久久精品| 一本色道久久综合| 久久精品免费电影| 欧美视频免费在线观看| 伊人精品视频| 亚洲欧美亚洲| 亚洲精品视频免费| 开元免费观看欧美电视剧网站| 国产精品高清在线| 日韩午夜在线视频| 美女主播一区| 欧美一站二站| 国产九九精品| 99re6这里只有精品| 猛男gaygay欧美视频| 亚洲欧美综合v| 欧美日韩亚洲91| 亚洲黄色视屏| 免费不卡视频| 久久国产精品久久w女人spa| 国产精品麻豆成人av电影艾秋| 日韩亚洲精品视频| 亚洲国产高清一区二区三区| 久久九九99视频| 国内成+人亚洲+欧美+综合在线| 午夜在线视频观看日韩17c| 99精品国产在热久久| 欧美jizz19hd性欧美| 在线欧美日韩| 欧美高清一区| 欧美激情aaaa| 日韩亚洲欧美综合| 亚洲人成网站在线播| 欧美电影在线观看| 99热精品在线| 99天天综合性| 国产精品久久久久久久久搜平片| 一区二区三区av| 日韩一级精品| 国产精品久久久久影院亚瑟| 欧美亚洲综合久久| 久久爱www.| 亚洲国产专区校园欧美| 亚洲精品女av网站| 欧美精品日韩一本| 国产精品99久久久久久有的能看| 中文网丁香综合网| 国产欧美精品va在线观看| 久久亚洲精品欧美| 欧美 日韩 国产在线| 亚洲精品自在在线观看| 一本大道久久a久久综合婷婷 | 欧美精品在线免费| 亚洲欧美高清| 欧美伊人久久| 亚洲激情网址| 99re6这里只有精品| 国产日韩欧美一区二区三区四区| 欧美大片在线看| 噜噜噜噜噜久久久久久91| 亚洲精品一二三| 99成人在线| 国产亚洲激情视频在线| 欧美国产日韩在线| 国产精品一区二区男女羞羞无遮挡 | 欧美电影免费观看高清| 亚洲欧美国产一区二区三区| 欧美在线二区| 中文久久精品| 久久久久久久97| 亚洲一区二区欧美| 另类天堂av| 欧美伊久线香蕉线新在线| 欧美a级在线| 久久五月激情| 国产精品视频大全| 亚洲欧洲日产国产网站| 国产婷婷色一区二区三区| 亚洲黄页视频免费观看| 国语自产在线不卡| 亚洲自拍偷拍麻豆| 99精品国产福利在线观看免费| 欧美一区二区三区播放老司机| 日韩视频在线观看免费| 狂野欧美一区| 久久蜜臀精品av| 国产精品一区二区欧美| 99视频在线精品国自产拍免费观看| 樱桃视频在线观看一区| 午夜精品在线视频| 欧美亚洲免费在线| 欧美性淫爽ww久久久久无| 欧美电影免费观看高清完整版| 国产精品一区免费视频| 一本色道久久综合亚洲二区三区| 91久久综合| 另类专区欧美制服同性| 久久精品91久久久久久再现| 欧美午夜精品久久久久久超碰| 亚洲黄色在线| 日韩一级片网址| 欧美区在线观看| 亚洲日本中文字幕区| 亚洲片国产一区一级在线观看| 久久精品一区蜜桃臀影院| 久久成人在线| 国产一区二区久久| 久久精品国产久精国产一老狼 | 国产亚洲欧美在线| 亚洲在线一区二区| 亚洲欧美乱综合| 国产精品九九| 亚洲无限av看| 久久九九免费| 亚洲电影免费| 欧美成人国产va精品日本一级| 蜜桃视频一区| 国产精品视频免费观看www| 国产一区二区三区久久悠悠色av | 亚洲一区二区三区国产| 欧美日韩影院| 亚洲一区在线观看视频| 久久激情视频| 影音先锋久久精品| 欧美韩日高清| 中文欧美字幕免费| 久久精品国产亚洲一区二区三区 | 亚洲综合社区| 国产私拍一区| 欧美成人免费小视频| 日韩视频在线免费| 久久精品99国产精品| 亚洲国产一区二区视频| 欧美日韩精品不卡| 香蕉久久a毛片| 欧美91福利在线观看| 99在线精品观看| 国产一区二区三区在线观看视频| 久久久水蜜桃| 亚洲最新色图| 女人色偷偷aa久久天堂| 亚洲一区欧美激情| 国精品一区二区| 欧美日韩成人免费| 久久精品午夜| 亚洲视频精选在线| 欧美黑人在线播放| 午夜精品婷婷| 亚洲精品免费在线| 国产一区二区三区久久悠悠色av | 欧美成人免费小视频| 亚洲永久精品大片| 亚洲国产精品小视频| 国产精品一区二区在线观看网站 | 国产日韩成人精品| 欧美成人激情视频| 性欧美xxxx大乳国产app| 亚洲精品视频一区二区三区| 欧美一区二区三区在线| 亚洲免费观看视频| 激情欧美丁香| 国产欧美欧洲在线观看| 欧美激情精品久久久六区热门 | 黄色成人在线观看| 欧美日韩一二三四五区| 久久久久网址| 欧美一级一区| 亚洲女人天堂av| 亚洲精品日韩一| 欧美成人视屏| 欧美多人爱爱视频网站| 老司机免费视频一区二区| 久久精品免视看| 亚洲图片欧洲图片av| 午夜精品久久|