ishoworderrank.cpp 2.73 KB
#include "ishoworderrank.h"
#include "ui_ishoworderrank.h"
#include <QDebug>
#include <QPainter>
#include <QBitmap>

IshowOrderRank::IshowOrderRank(QWidget *parent) :
    BaseMainWidget(parent),
    ui(new Ui::IshowOrderRank)
{
    ui->setupUi(this);
    this->setWindowFlags(Qt::FramelessWindowHint);//去掉标题栏
//    this->setStyleSheet("border:2px groove gray;border-radius:10px;padding:2px 4px;");
}

IshowOrderRank::~IshowOrderRank()
{
    delete ui;
}

void IshowOrderRank::setOrder(double order)
{
    if(order > 0.1)
    {
        ui->earnings->setText(QString("%1peso").arg(order));
        ui->remind->hide();
    }
    else
    {
        ui->earnings->setText("0.00peso");
        ui->remind->show();
    }
}

void IshowOrderRank::setHeaderImg(QString headImg)
{
    QSize size(ui->head->height(), ui->head->width());
    QBitmap mask(size);
    QPainter painter(&mask);
    painter.setRenderHint(QPainter::Antialiasing);
    painter.setRenderHint(QPainter::SmoothPixmapTransform);
    painter.fillRect(0, 0, size.width(), size.height(), Qt::white);
    painter.setBrush(QColor(0, 0, 0));
    painter.drawRoundedRect(0, 0, size.width(), size.height(), 99, 99);

    QPixmap image = QPixmap(headImg).scaled(size);
    image.setMask(mask);
    ui->head->setPixmap(image);
}

void IshowOrderRank::setEarningsRank(QJsonArray list)
{
    QString uname = QString("");
    QString earnings = QString("");

    ui->name_1->setText("");
    ui->earnings_1->setText("");
    ui->name_2->setText("");
    ui->earnings_2->setText("");
    ui->name_3->setText("");
    ui->earnings_3->setText("");
    if(list.count() > 0)
    {
        for(int i = 0;i < list.count();i++)
        {
            uname = list.at(i).toObject().find("user").value().toObject().find("userInfo").\
                    value().toObject().find("user_name").value().toString();
            earnings = list.at(i).toObject().find("peso").value().toString();
            qDebug()<<"earnings = "<<list.at(i).toObject().find("peso").value();
            switch (i)
            {
            case 0:
                ui->name_1->setText(QString("NO.1   ")+uname.section(' ', 0, 0));
                ui->earnings_1->setText(earnings+QString("peso"));
                break;
            case 1:
                ui->name_2->setText(QString("NO.2   ")+uname.section(' ', 0, 0));
                ui->earnings_2->setText(earnings+QString("peso"));
                break;
            case 2:
                ui->name_3->setText(QString("NO.3   ")+uname.section(' ', 0, 0));
                ui->earnings_3->setText(earnings+QString("peso"));
                break;
            default:
                break;
            }
        }
        this->show();
    }
}

void IshowOrderRank::on_pushButton_clicked()
{
    this->hide();
}