0
我需要在QTableView的項目上繪製圖標。QTableView:將項目的圖標對齊左上角
什麼,現在我得到的是以下(每個大的矩形中的項目):我只能做的drawRect
與方法
QVariant myClass::data(const QModelIndex& index, int role) const
...
case Qt::DecorationRole:
{
QPixmap pix(m_cellSize, m_cellSize);
QPainter painter(&pix);
painter.setFont(QFont("Arial", m_cellSize/2));
painter.setPen(Qt::black);
painter.drawRect(0, 0, m_cellSize - 1, m_cellSize - 1);
painter.drawText(QRect(0, 0, m_cellSize, m_cellSize), Qt::AlignTop, QString::number(m_letters[index.row()][index.column()].number));
QIcon icon(pix);
return icon;
}
...
下面的代碼看看像素圖是如何以及文本在裏面。我可以對齊像素圖中的文本,但我無法對齊項目內的圖標。 簡而言之,我需要在表格視圖項目的左上角繪製此圖標,但我不知道如何去做。它始終垂直對齊。
任何幫助,將不勝感激。
是的,我已經開始與一個代表。如果我成功了(現在沒有那麼多時間),我接受你的答案。謝謝。 – marco
好吧,代表是絕對要走的路,因爲我需要繪製比對齊的圖標更多的圖標。我很快就嘗試了,它正在工作。非常感謝。 – marco
很高興它爲你工作 - 代表不是完全簡單,但只要你需要做複雜的繪圖,它是最好的選擇。 –