9月12日 QT

//设置图片缩放适应label
              ui->label->setScaledContents(true);
              // 在spinbox后方设置$特殊符号
                  ui->spinBox->setSuffix(" 斤");

    //给肉类combobox加入项目
    QStringList Meat_List={"请选择","猪肉","鸭肉"};
    ui->comboBox->addItems(Meat_List);
    ui->comboBox->setCurrentIndex(0); // 设置默认选择第1个选项

    //给蔬菜combobox加入项目
    QStringList Shucai_List={"请选择","黄瓜","白菜"};
    ui->comboBox_2->addItems(Shucai_List);
    ui->comboBox_2->setCurrentIndex(0); // 设置默认选择第1个选项

    //给水果combobox加入项目
    QStringList Fruit_List={"请选择","苹果","香蕉"};
    ui->comboBox_3->addItems(Fruit_List);
    ui->comboBox_3->setCurrentIndex(0); // 设置默认选择第1个选项

    //设置微调框范围
        ui->spinBox->setRange(0,5);

    //显示默认欢迎图片
    map = new QPixmap("/home/ubuntu/jpg/welcome.png");
    ui->label->setPixmap(*map);
}

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

void Widget::on_comboBox_activated(int index)//肉类选项,当用户选择了⼀个选项时发出,这个时候相当于用户点开下拉框, 并且⿏标划过某个选项.此时还没有确认做出选择.
{

    //设置label显示肉类图片
    if(index>0)
    {
         map = new QPixmap("/home/ubuntu/jpg/meat.png");
         ui->label->setPixmap(*map);
         if(index==1)
         {
             ui->price_label->setText(QString("18/斤"));
         }
         else
         {
             ui->price_label->setText(QString("8/斤"));
         }
}
}

void Widget::on_comboBox_2_activated(int index)//蔬菜选项
{
    //设置label显示蔬菜图片
    if(index>0)
    {
         map = new QPixmap("/home/ubuntu/jpg/shucai.png");
         qDebug()<< index;
         ui->label->setPixmap(*map);
         if(index==1)
         {
             ui->price_label->setText(QString("7/斤"));
         }
         else
         {
             ui->price_label->setText(QString("6/斤"));
         }
}
}


void Widget::on_comboBox_3_activated(int index)
{
    //设置label显示水果图片
    if(index>0)
    {
         map = new QPixmap("/home/ubuntu/jpg/fruit.png");
         qDebug()<< index;
         ui->label->setPixmap(*map);
         if(index==1)
         {
             ui->price_label->setText(QString("19/斤"));
         }
         else
         {
             ui->price_label->setText(QString("6/斤"));
         }
}
}

void Widget::on_pushButton_clicked()//加入购物车
{
     QString selectedText;
     int ret;
     QString s;
        num=ui->spinBox->value();//获取购买数量个数
        //获取combobox的index
        int meat_index=ui->comboBox->currentIndex();
        int shucai_index2=ui->comboBox_2->currentIndex();
        int fruit_index=ui->comboBox_3->currentIndex();

        if(meat_index!=0)
        {
            meat_index==1?price+=num*18:price+=num*8;
            selectedText = ui->comboBox->itemText(meat_index);// 要添加的新选项文本
            ret = ui->comboBox_4->findText(selectedText, Qt::MatchExactly);  //使用findText方法来检查选项是否已存在,findText的第二个参数Qt::MatchExactly表示进行完全匹配
            // 如果ret不是-1,表示找到了匹配的选项,因此不需要再添加
            if (ret == -1)
            {
                // 如果没有找到匹配的选项,则添加新选项
                ui->comboBox_4->addItem(selectedText);
            }
        }

        if(shucai_index2!=0)
        {
            shucai_index2==1?price+=num*7:price+=num*6;

            selectedText = ui->comboBox_2->itemText(shucai_index2);
            ret = ui->comboBox_4->findText(selectedText, Qt::MatchExactly);
            if (ret == -1)
            {
                // 如果没有找到匹配的选项,则添加新选项
                ui->comboBox_4->addItem(selectedText);
            }
        }

        if(fruit_index!=0)
        {
            fruit_index==1?price+=num*19:price+=num*6;

            selectedText = ui->comboBox_3->itemText(fruit_index);
            ret = ui->comboBox_4->findText(selectedText, Qt::MatchExactly);
            if (ret == -1)
            {
                // 如果没有找到匹配的选项,则添加新选项
                ui->comboBox_4->addItem(selectedText);
            }

        }

        s.sprintf("%d 元",price);
        ui->label_7->setText(s);//打出总价

         ui->comboBox->setCurrentIndex(0); // 自动回到第一个选项
         ui->comboBox_2->setCurrentIndex(0);
         ui->comboBox_3->setCurrentIndex(0);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值