Re: how i can chagne Qtableview horizontal header text as well as remove Indexes vHea
Quote:
Originally Posted by
Santosh Reddy
Here you go, keyboard only operation
Code:
// Handles Horizontal header
{
Q_OBJECT
public:
explicit HeaderModel
(QObject * parent
= 0) { }
QVariant headerData
(int section, Qt
::Orientation orientation,
int role
) const {
if(orientation == Qt::Horizontal)
{
if(role == Qt::DisplayRole)
switch(section)
{
case 0: return "Id"; break;
case 1: return "Designation"; break;
case 2: return "Famille"; break;
case 3: return "Qte Maximum"; break;
case 4: return "Qte Minimum"; break;
case 5: return "Prix"; break;
case 6: return "Prix vente"; break;
default:
return QString("Column %1").
arg(section
+ 1);
break;
}
}
}
};
// Handles Vertical header
{
Q_OBJECT
public:
, mSelectedIndex(-1)
{
setMinimumWidth
(QImage("imgs/arrow.png").
width());
}
public slots:
{
int section = current.row();
if(mSelectedIndex != section)
{
mSelectedIndex = section;
viewport()->update();
}
}
protected:
void paintSection
(QPainter *painter,
const QRect &rect,
int logicalIndex
) const {
painter->save();
if(mSelectedIndex > -1)
{
if(mSelectedIndex == logicalIndex)
if(!isSectionHidden(logicalIndex))
painter
->drawImage
(rect,
QImage("imgs/arrow.png"));
}
painter->restore();
}
private:
int mSelectedIndex;
};
//Usage
HeaderModel headerModel;
headerModel.setSourceModel(&model);
Header * header = new Header(&tableView);
tableView.setModel(&headerModel);
tableView.setVerticalHeader(header);
tableView.show();
Yes this is working perfectly, but i get hard to resize the icon ,
i tried setFixedWidth() and setFixedHigh() but the icon becomes broken
i want like QtableWidget when we set an icon it resizes automatically
thanks Santosh Reddy :)
Re: how i can chagne Qtableview horizontal header text as well as remove Indexes vHea
Then set the minimum size of the icon, that will allow it to increase it's size when required.