#include <QtWidgets>
public:
}
protected:
QSize sectionSizeFromContents
(int logicalIndex
) const { return QSize(s.
height(), std
::max(100, s.
width()));
}
void paintSection
(QPainter *painter,
const QRect & rect,
int logicalIndex
) const { if (logicalIndex % 2) {
painter->save();
painter->translate(rect.left(), rect.bottom());
painter->rotate(-90);
QRect r
(0,
0, rect.
height(), rect.
width());
painter->setBrush(Qt::red);
painter->drawRect(r);
painter
->drawText
(r, Qt
::AlignCenter,
QString::number(logicalIndex
+1));
painter->restore();
} else QHeaderView::paintSection(painter, rect, logicalIndex
);
}
};
int main(int argc, char**argv) {
view.setModel(&model);
view.setHorizontalHeader(new MyHeader);
view.show();
return app.exec();
}
#include <QtWidgets>
class MyHeader : public QHeaderView {
public:
MyHeader(QWidget*parent = 0) : QHeaderView(Qt::Horizontal, parent) {
}
protected:
QSize sectionSizeFromContents(int logicalIndex) const {
QSize s = QHeaderView::sectionSizeFromContents(logicalIndex);
return QSize(s.height(), std::max(100, s.width()));
}
void paintSection(QPainter *painter, const QRect & rect, int logicalIndex) const {
if (logicalIndex % 2) {
painter->save();
painter->translate(rect.left(), rect.bottom());
painter->rotate(-90);
QRect r(0, 0, rect.height(), rect.width());
painter->setBrush(Qt::red);
painter->drawRect(r);
painter->drawText(r, Qt::AlignCenter, QString::number(logicalIndex+1));
painter->restore();
} else QHeaderView::paintSection(painter, rect, logicalIndex);
}
};
int main(int argc, char**argv) {
QApplication app(argc, argv);
QTableView view;
QStandardItemModel model(800,400);
view.setModel(&model);
view.setHorizontalHeader(new MyHeader);
view.show();
return app.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks