//设置图片缩放适应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);
}