/// /// \brief 绘制左上角按钮 /// \param painter 设置好绘制设备的painter /// \param btn 左上角按钮,左上角按钮指针,Painter已经把此按钮设置为此绘制设备 /// void DTableWidgetEx::paintConnerButton(QStylePainter &painter,QAbstractButton* btn) { QStyleOptionHeader opt; opt.init(btn); QStyle::State state = QStyle::State_None; if (btn->isEnabled()) state |= QStyle::State_Enabled; if (btn->isActiveWindow()) state |= QStyle::State_Active; if (btn->isDown()) state |= QStyle::State_Sunken; opt.state = state; opt.rect = btn->rect(); opt.text = btn->text(); // this line is the only difference to QTableCornerButton opt.position = QStyleOptionHeader::OnlyOneSection; painter.drawControl(QStyle::CE_Header, opt); }