当前位置: 首页 > news >正文

QT第三天

使用QT完成水果计价界面和功能,如下图:

运行结果:

 代码:

widget.h

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

widge.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());
}
http://www.lryc.cn/news/279485.html

相关文章:

  • Jetpack Compose -> 声明式UI Modifier
  • windows10 装docker和docker compose
  • 第二次面试总结 - 宏汉科技 - Java后端开发
  • GPT-4:人工智能的新纪元与未来的无限可能
  • 2.右值引用和移动语义
  • 深入浅出线程原理
  • openssl3.2 - 官方demo学习 - saccept.c
  • JavaScript基础(26)_dom增删改练习
  • mac上部署单体hbase
  • 【RV1126 学习】SDK/ U-Boot/kernel/rootfs 编译学习
  • Golang 使用 AST 获取方法和参数名以及应用举例
  • DC-DC变换集成电路芯片B34063——工作电压范围宽,静态电流小
  • 强力推荐:本地文件加密软件—超详细加密步骤来了!
  • 在qml中,ListModel可以与WorkerScript一起使用,从多个线程访问列表模型
  • rocketmq实现延迟消息
  • vue倒计时60秒改变按钮状态效果demo(整理)
  • 多区域isis配置实验
  • Ubuntu 22.04.3 LTS arm64 aarch64 ISO jammy-desktop-arm64.iso 下载
  • 软件测试面试必备知识
  • 4.4 媒资管理模块 - 分布式任务处理介绍、视频处理技术方案
  • K8S集群重新初始化--详细过程
  • 服务器 Linux常见指令
  • C++合并K个有序链表
  • win10在启动游戏时报错,提示“d3dx9_25.dll文件丢失”,怎么办?d3dx9_25.dll丢失如何自动修复
  • 16. 蒙特卡洛强化学习基本概念与算法框架
  • QT中程序执行时间精准计算的三种方法及对比
  • js下载方法分享*
  • C# Stopwatch类_性能_时间计时器
  • 鸿蒙原生应用再添新丁!天眼查 入局鸿蒙
  • HarmonyOS4.0——ArkUI应用说明