QT第三天作业

widget.h

#ifndef WIDGET_H
#define WIDGET_H
 
#include <QWidget>
#include <QListWidgetItem>
 
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
 
class Widget : public QWidget
{
    Q_OBJECT
 
public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
 
    void initUi();
public slots:
    void listWidgetFruitItemClickedSlotFun(QListWidgetItem *);
    void totalPriceCountSoltFun(double);
private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"
 
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
 
    //初始化ui界面
    this->initUi();
 
    //选中更新价格
    connect(ui->listWidgetFruit, SIGNAL(itemClicked(QListWidgetItem *)),\
            this, SLOT(listWidgetFruitItemClickedSlotFun(QListWidgetItem *)));
    connect(ui->dSpinBoxPrice, SIGNAL(valueChanged(double)), this, SLOT(totalPriceCountSoltFun(double)));
    connect(ui->dSpinBoxWeight, SIGNAL(valueChanged(double)), this, SLOT(totalPriceCountSoltFun(double)));
 
}
 
Widget::~Widget()
{
    delete ui;
}
 
void Widget::initUi()
{
    //设置价格初值
    ui->dSpinBoxPrice->setSuffix("元/斤");
    ui->dSpinBoxPrice->setValue(0.0);
    //ui->dSpinBoxPrice->setMinimum(2.2);
    ui->dSpinBoxPrice->setMaximum(30.0);
    ui->dSpinBoxWeight->setSuffix("斤");
    ui->dSpinBoxWeight->setValue(0.0);
    ui->dSpinBoxWeight->setMaximum(50.0);
 
    ui->dSpinBoxTotalprice->setSuffix("元");
    ui->dSpinBoxTotalprice->setMaximum(1500.0);
    ui->dSpinBoxTotalprice->setValue(ui->dSpinBoxPrice->value() * ui->dSpinBoxWeight->value());
 
    //添加水果
    QString fruitName[] = {"苹果","香蕉","樱桃","椰子","哈密瓜","水蜜桃"};
    QString fruitIcon[] = {":/ico/Apple.ico",":/ico/Banana.ico",\
                          ":/ico/Cherry.ico",":/ico/Coconut.ico",\
                          ":/ico/Hami_melon.ico",":/ico/Juicy_peach.ico"};
 
    for (int i = 0;i<6;i++)
    {
        QListWidgetItem *qFruit = new QListWidgetItem();
        qFruit->setText(fruitName[i]);
        qFruit->setIcon(QIcon(fruitIcon[i]));
        ui->listWidgetFruit->addItem(qFruit);
    }
 
    ui->listWidgetFruit->setViewMode(QListWidget::IconMode);
}
 
void Widget::listWidgetFruitItemClickedSlotFun(QListWidgetItem *)
{
    //定制价格
    double price[] = {3.2, 2.3, 25.48, 15.0, 3.5, 10.8};
    //获取第几个被选中
    int index = ui->listWidgetFruit->currentRow();
    //更新价格
    ui->dSpinBoxPrice->setValue(price[index]);
}
 
void Widget::totalPriceCountSoltFun(double)
{
    ui->dSpinBoxTotalprice->setValue(ui->dSpinBoxPrice->value() * ui->dSpinBoxWeight->value());
}
 

效果图

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值