您的位置:首页 > 游戏 > 手游 > 9月12日 QT

9月12日 QT

2024/12/23 3:17:25 来源:https://blog.csdn.net/qq_69377244/article/details/142187699  浏览:    关键词: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);
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com