使用组合框QComboBox模拟购物车

这篇具有很好参考价值的文章主要介绍了使用组合框QComboBox模拟购物车。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.组合框: QComboBox

组合框:QComboBox

用于存放一些列表项

实例化

//实例化
    QComboBox* comboBox = new QComboBox(this);

1.1 代码实现

1.1.1 组合框的基本函数

QComboBox

dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
    , ui(new Ui::Dialog)
{
    ui->setupUi(this);

    //添加列表项
    this->comboBox->addItem("苹果");
    this->comboBox->addItem("香蕉");
    this->comboBox->addItem("西瓜");

    //添加图片
    this->comboBox->addItem(QIcon(":/img/photo.jpg"),"葡萄");

    //一次添加多个列表项
    QStringList list;
    list<<"星期一"<<"星期二"<<"星期三";
    this->comboBox->addItems(list);

    //返回组合框里有多少列表项
    qDebug()<<"组合框里列表项数目"<<this->comboBox->count()<<endl;

    //返回当前列表项的下标
    qDebug()<<"返回当前列表项的下标"<<this->comboBox->currentIndex()<<endl;

    //返回当前列表项
    qDebug()<<"返回当前列表项"<<this->comboBox->currentText()<<endl;

    //在组合框中查询是否有指定的列表项,如果有就返回下标,没有就返回-1
    int index = this->comboBox->findText("星期二");
    qDebug()<<"星期二对应的下标:"<<index<<endl;

    //通过下标找到列表项
    QString text = this->comboBox->itemText(index);
    qDebug()<<"下标为"<<index<<"的列表项是"<<text<<endl;

    //通过下标找到图片
    QIcon icon = this->comboBox->itemIcon(2);

    //在指定位置插入列表项
    QStringList list2;
    list2<<"昨天"<<"今天"<<"明天";
    this->comboBox->insertItems(1,list2);

    //移除指定的列表项
    this->comboBox->removeItem(1);//这里我移除了 昨天

    //将列表项更新为新的列表项
    this->comboBox->setItemText(index,"hello");

   }

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

使用组合框QComboBox模拟购物车,Qt,Qt,c++,c语言

1.1.2 练习购物车

用组合框模拟账户的存储与取出

使用组合框模拟购物车

(1)用户可以添加物品到购物车中

(2)用户可以移除购物车中指定的物品

(3)用户可以清空并结算购物车中商品总价

(4)用户一个商品用户可以购买多个

效果如下

使用组合框QComboBox模拟购物车,Qt,Qt,c++,c语言

QConboBox_gouwuche

dialog.h

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <Qdebug>
#include <QComboBox>

QT_BEGIN_NAMESPACE
namespace Ui { class Dialog; }
QT_END_NAMESPACE

class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog(QWidget *parent = nullptr);
    ~Dialog();

private slots:
    void on_xigau_clicked();

    void on_car_clicked();

    void on_flower_clicked();

    void on_del_clicked();

    void on_jiesuan_clicked();

private:
    Ui::Dialog *ui;

    //实例化组合框
    QComboBox* comboBox = new QComboBox(this);

};
#endif // DIALOG_H

dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"

//用组合框模拟账户的存储与取出
//    使用组合框模拟购物车
//    (1)用户可以添加物品到购物车中
//    (2)用户可以移除购物车中指定的物品
//    (3)用户可以清空并结算购物车中商品总价
//    (4)用户一个商品用户可以购买多个

Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
    , ui(new Ui::Dialog)
{
    ui->setupUi(this);

    this->comboBox->move(260,150);
    this->comboBox->resize(100,40);

}

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


void Dialog::on_xigau_clicked()//西瓜
{
    QString xg = ui->xigau->text();

    QStringList watermelon = xg.split(" ");//以空格分割字符串
    this->comboBox->addItem(watermelon[0]);//将物品给组合框选项

}


void Dialog::on_car_clicked()//汽车
{
    QString qiche = ui->car->text();
    QStringList che = qiche.split(" ");//以空格分割字符串
    this->comboBox->addItem(che[0]);

}


void Dialog::on_flower_clicked()//鲜花
{
    QString xianhua = ui->flower->text();
    QStringList hua = xianhua.split(" ");//以空格分割字符串
    this->comboBox->addItem(hua[0]);

}


void Dialog::on_del_clicked()//删除列表项
{
    int index = this->comboBox->currentIndex();
    this->comboBox->removeItem(index);
}


void Dialog::on_jiesuan_clicked()//结算
{
    int sum = 0;
    int num = this->comboBox->count();//获取标签中有多少项
    for(int i=0;i<num;i++){//循环遍历出列表项
        QString cur = this->comboBox->itemText(i);//取出列表项
        if(cur=="西瓜"){
            sum+=12;
        }else if(cur=="汽车"){
            sum+=25;
        }else if(cur=="鲜花"){
            sum+=9;
        }

    }

    ui->label->setText(QString::number(sum));//QString::number(sum)转为字符串
    comboBox->clear();

}


使用组合框QComboBox模拟购物车,Qt,Qt,c++,c语言

1.2 信号

1.2.1 信号函数

 void activated(int index) //当列表项变化时触发该信号
 void activated(const QString &text)
 void currentIndexChanged(int index) //当前列表项下标变化时触发该信号
 void currentIndexChanged(const QString &text)
 void currentTextChanged(const QString &text)//当前列表项变化时触发该信号
 void editTextChanged(const QString &text)
 void highlighted(int index) //列表项高亮时触发该信号
 void highlighted(const QString &text)
1.2.2 举例

QComboBox

绑定

dialog.cpp

//绑定变化列表项信号,即当列表项被选中触发
    connect(this->comboBox,SIGNAL(activated(QString)),this,SLOT(rece1_Text(QString)));
    //绑定高亮信号,即鼠标放在哪高亮触发
    connect(this->comboBox,SIGNAL(highlighted(int)),this,SLOT(rece2_Text_Index(int)));

定义

dialog.h

public slots://槽
    void rece1_Text(const QString& text);//绑定变化列表项信号,即当列表项被选中触发
    void rece2_Text_Index(int dex);//绑定高亮信号,即鼠标放在哪高亮触发

实现

dialog.cpp

void Dialog::rece1_Text(const QString &text){
    qDebug()<<"列表项"<<text<<endl;
}

void Dialog::rece2_Text_Index(int dex){
    qDebug()<<"下表为"<<dex<<endl;
}

使用组合框QComboBox模拟购物车,Qt,Qt,c++,c语言

1.3 UI实现

方法解释文章来源地址https://www.toymoban.com/news/detail-819245.html

    editable:设置组框当前列表项是否可编辑
	currentText:获取组合框中的当前显示的列表项
	currrenIdex:获取当前列表项的下标
	maxVisibleItems:列表项可移动的最大数目
	maxCount:设置组合框中最多能容纳的列表项的数目
	insertPolicy:设置插入列表项的策略
	sizeAdjustPolicy:设置组合框中列表项适应组合框
	minimumContentsLength:最小的列表项的长度
	iconsize:设置图片的大小
	placeholderText:背景提示的文本
	frame:边框
	modelColumn:列表项

到了这里,关于使用组合框QComboBox模拟购物车的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Bootstrap03购物车页面&登录注册界面&其他组件使用

    目录 案例1:实现购物车页面布局 效果图  案例2:实现登录注册界面 效果图  案例3:图标组件的使用 效果图  熟悉其他的(页面内容-组件)等效果 页面内容:表格-Table 组件:按钮-Buttons 表单组件:Forms 折叠 滚动监听 下拉菜单 分页 导航-面包屑导航等等

    2024年02月03日
    浏览(56)
  • 使用JavaScript实现动态生成并管理购物车的深入解析

    在当前的互联网时代,电子商务已成为我们日常生活的重要组成部分。购物车作为电子商务网站的核心功能之一,其实现方式对于用户体验至关重要。本文将深入探讨如何使用JavaScript实现一个动态生成并管理购物车的功能,并详细介绍其实现细节,同时附上相关代码。 购物

    2024年01月24日
    浏览(89)
  • 使用Session和cookie会话对象实现简单购物车功能(超详细)

    1.新建Dynamic Web project,新建过程如下; 2.在src目录下新建两个包,一个命名为entity,一个命名为servlet,新建过程如下; 3.在entity目录下新建两个实体类,一个名为Cake,一个名为CakeDB,新建过程如下: 4.在servlet目录下新建三个servlet,命名分别为ListCakeServlet、PurchaseServlet和CartSe

    2023年04月17日
    浏览(72)
  • Vue项目商品购物车前端本地缓存逻辑(适用H5/ipad/PC端)——前端实现购物车删除商品、购物车增减数量,清空购物车功能

    Vue3 + Vite + Ts开源后台管理系统模板 基于ElementUi或AntdUI再次封装基础组件文档 基于Element-plus再次封装基础组件文档(vue3+ts)

    2024年02月12日
    浏览(47)
  • 使用Vue.js框架的指令和事件绑定实现一个购物车的页面布局

    使用了v-model指令来实现全选/全不选的功能,当全选框被点击时,isAllChecked的值会被改变。 使用了v-if指令来判断购物车中是否有商品,如果有商品则渲染商品列表,否则显示购物车为空的提示。 使用了v-for指令来遍历datalist数组,渲染每个商品项。 使用了@change事件来监听商

    2024年02月12日
    浏览(53)
  • Android商城开发----点击加入购物车,购物车商品的增删减

    上一章节:【分类页面】点击左侧类别,实现右侧对应类别商品的展示 本文是在上一章节基础上开发的,点击【分类】页面商品的加入购物车按钮,实现将商品加入购物车的功能。 本文主要实现的功能是: 1.点击加入购物车按钮,将商品加入购物车。 2.点击相同的商品加入

    2024年02月03日
    浏览(60)
  • php开发实战分析(2):cookie的动态使用(设置、获取、删除、猜你喜欢原理、购物车调用)

    在 PHP 中,cookie 是一种用于在客户端(浏览器)和服务器之间存储数据的一种机制。 它们通常用于跟踪和识别用户,并存储用户的偏好设置。下面是一些常见的用法和函数来操作 cookie。 可以使用 setcookie() 函数来设置 cookie。该函数有多个参数,其中最重要的是名称和值。下

    2024年02月15日
    浏览(56)
  • 使用JavaScript和Vue.js框架开发的电子商务网站,实现商品展示和购物车功能

    引言: 随着互联网的快速发展和智能手机的普及,电子商务行业正迎来一个全新的时代。越来越多的消费者选择网上购物,而不再局限于传统的实体店。这种趋势不仅仅是改变了消费者的习惯购物,也给企业带来了巨大的商机。为了不断满足消费者的需求,电子商务网站需要

    2024年02月15日
    浏览(55)
  • JavaWeb购物系统(五)购物车模块的实现

    未添加商品效果图 添加商品之后的效果图 添加商品 购物车中商品的数量增加、减少、通过键盘输入改变数量 清空购物车 计算购物车商品的总价格 我们的购物车采用的是在服务端,即:使用session来存储。这样做的 缺点 :无法永久存储,当服务端关闭的时候,会销毁。 优点

    2024年02月07日
    浏览(44)
  • JavaWeb购物系统(六)购物车订单模块的实现

    有订单时的效果图 无订单时的效果图 订单详情页 生成订单 订单页的展示 查看订单详情 和购物车同样的,首先得知道我们的订单对应的哪个实体对象。一个用户可能有多条订单记录,一个订单里边可以包含多个 商品(也可以理解为多个购物项) 。理清这个逻辑之后,我们

    2024年02月05日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包