QPaint QPushButton

来源:互联网 发布:win7建立网络连接 编辑:程序博客网 时间:2024/05/29 12:03
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;}


原创粉丝点击