2
我想什麼來實現:動畫列表項/重繪的Qt而QListView
視覺指示提請注意一個而QListView新添加的項目。我曾想過背景顏色「悸動」一次(從顏色到背景)。
的設置
我有使用而QListView顯示QStandardItems一模型/視圖。 Qt的版本4.7
我已經試過:
我創建從QStyledItemDelegate派生新類。我有我自己的繪製方法來渲染項目。該部分起作用。我創建了一個QTimeLine對象並將其設置爲創建事件來重繪項目。
我不知道如何觸發重繪的QListView項目。
在項目委託構造函數:
timeLine = new QTimeLine(3000, this);
timeLine->setFrameRange(100, 0);
connect(timeLine, SIGNAL(frameChanged(int)), this, SLOT(update()));
timeLine->start();
我試圖連接到sizehintChanged事件,但這不起作用
void myDelegate::update()
{
const QModelIndex index;
emit QStyledItemDelegate::sizeHintChanged(index);
}
有什麼建議?這可以用樣式表完成嗎?
謝謝Abhijith,我會嘗試狀態機方法。 – Jay
項目委託沒有重繪方法。你必須在視圖上調用repaint嗎?如果是這樣,該觀點是代表的父母嗎? – Jay
我在管理項目列表的QListView上重複調用repaint()。它不更新屏幕。如果我在點擊動畫時用鼠標點擊列表項目,那麼我會得到一個視覺更新。 – Jay