case 4:
{
QPushButton * statusBtn;
int status = index.model()->data(index,Qt::DisplayRole).toInt();
QStyleOptionButton pushButtonOption;
pushButtonOption.rect = QRect(option.rect.x(), option.rect.y()+((100 - 20)/2), 20,20);
pushButtonOption.state |= QStyle::State_Enabled;
pushButtonOption.direction = QApplication::layoutDirection();
switch (status)
{
case DOWNLOAD_START:
{
pushButtonOption.state |=QStyle::State_None;
pushButtonOption.icon = QIcon("play.png");
statusBtn = startDownloadStatusBtn;
break;
}
case DOWNLOAD_STOP:
{
pushButtonOption.state |=QStyle::State_None;
pushButtonOption.icon = QIcon("pause.png");
statusBtn = stopDownloadStatusBtn;
break;
}
case DOWNLOAD_START_HOVER:
{
pushButtonOption.state |= QStyle::State_MouseOver;
pushButtonOption.icon = QIcon("play_hover.png");
statusBtn = startDownloadStatusBtn;
break;
}
case DOWNLOAD_START_PRESSED:
{
pushButtonOption.state |= QStyle::State_Sunken;
pushButtonOption.icon = QIcon("play_hover.png");
statusBtn = startDownloadStatusBtn;
break;
}
case DOWNLOAD_STOP_HOVER:
{
pushButtonOption.state |= QStyle::State_MouseOver;
pushButtonOption.icon = QIcon("pause_hover.png");
statusBtn = stopDownloadStatusBtn;
break;
}
case DOWNLOAD_STOP_PRESSED:
{
pushButtonOption.state |= QStyle::State_Sunken;
pushButtonOption.icon = QIcon("pause_hover.png");
statusBtn = stopDownloadStatusBtn;
break;
}
default:
{
break;
}
}
pushButtonOption.iconSize = QSize(30, 30);
QApplication::style()->drawControl(QStyle::CE_PushButton, &pushButtonOption, painter, statusBtn);
break;
}
QPaint QPushButton
最新推荐文章于 2024-04-07 21:27:50 发布