冬瓜排骨汤

本文介绍了冬瓜排骨汤的烹饪方法。准备小排、冬瓜等食材及高压锅等工具,小排洗净焯水后翻炒,倒入高压锅加姜片和水炖煮5分钟,冷却后放入冬瓜和少量盐,再煮1分多钟,冷却开锅后调味即可。

冬瓜排骨汤:小排一斤、冬瓜一圈、姜片少许、小葱一根、油、盐、鸡精、味精若干;漏勺一只、高压锅一口。一般买回来的小排都不太干净,洗了后需放沸水里煮上一煮。切冬瓜,去皮切块(大厨提醒:因冬瓜放高压锅里煮很容易烂,所以不要切那么小块),再切上姜片小葱备用。小排煮过后捞起,在炒锅里放少许油烧热,放入排骨翻炒一下。(这是一个小窍门,这样炒过的排骨炖汤才能汤浓色白,如鱼头汤一般)把翻炒过的排骨倒入高压锅中,放入姜片,再顺便告诉你个秘密,汤里不要放蒜瓣,这个一般人我还不告诉他!加适量水,盖上盖开始炖排骨...高压锅开始叫了!可以让它“叫”上5分钟,关火!把高压锅放水龙头下放水冷却,放入冬瓜和少量的盐,再盖起盖子,开火让高压锅再“叫”上1分多钟。好了后再冷却开锅,再依口味放入适量盐、味精和鸡精,起锅,撒上小葱。这样一碗冬瓜排骨汤就做完了,色白、香浓、味美!

#include "cai1.h" #include "cai2.h" #include "cai3.h" #include "cai4.h" #include "cai5.h" #include "cai6.h" #include "diancai.h" #include "ui_diancai.h" #include "dingdan.h" diancai::diancai(QWidget *parent) : QMainWindow(parent), ui(new Ui::diancai), m_fuwu(nullptr), m_dingdan(nullptr), m_jiehzang(nullptr), m_tcpSocket(new QTcpSocket(this)), // 初始化 TCP 套接字 m_serviceSocket(new QTcpSocket(this)) // 初始化服务socket { ui->setupUi(this); on_specialtyBt_clicked(); connect(m_tcpSocket, &QTcpSocket::connected, this, &diancai::sendOrder); connect(m_tcpSocket, &QTcpSocket::bytesWritten, this, &diancai::onBytesWritten); connect(m_tcpSocket, &QTcpSocket::disconnected, this, &diancai::onDisconnected); // connect(m_tcpSocket, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error), this, &diancai::onSocketError); connect(m_serviceSocket, &QTcpSocket::connected, this, &diancai::sendServiceRequest); connect(m_serviceSocket, &QTcpSocket::bytesWritten, this, &diancai::onServiceBytesWritten); connect(m_serviceSocket, &QTcpSocket::disconnected, this, &diancai::onServiceDisconnected); connect(m_tcpSocket, &QTcpSocket::connected, this, &diancai::sendOrder); } diancai::~diancai() { delete ui; if (m_fuwu) { delete m_fuwu; } if (m_dingdan) { delete m_dingdan; } if (m_jiehzang) { delete m_jiehzang; } } void diancai::on_specialtyBt_clicked() { ui->tableWidget_1->setRowCount(2); ui->tableWidget_1->setColumnCount(3); cai1 *item1 = new cai1(); ui->tableWidget_1->setCellWidget(0,0,item1); item1->setInfo("地三鲜", 18, "D:/QT2/main/pic/cai1.png"); // QString key1 = item1->getDishKey(); // if (m_dishCountMap.contains(key1)) { // item1->setCount(m_dishCountMap[key1]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 // } connect(item1, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); cai1 *item2 = new cai1(); ui->tableWidget_1->setCellWidget(0,1,item2); item2->setInfo("北京烤鸭", 40, "D:/QT2/main/pic/cai2.png"); QString key2 = item2->getDishKey(); if (m_dishCountMap.contains(key2)) { item2->setCount(m_dishCountMap[key2]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item2, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); cai1 *item3 = new cai1(); ui->tableWidget_1->setCellWidget(0,2,item3); item3->setInfo("小龙虾", 38, "D:/QT2/main/pic/01.png"); QString key3 = item3->getDishKey(); if (m_dishCountMap.contains(key3)) { item3->setCount(m_dishCountMap[key3]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item3, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); cai1 *item4 = new cai1(); ui->tableWidget_1->setCellWidget(1,0,item4); item4->setInfo("粉蒸肉", 35, "D:/QT2/main/pic/07.png"); QString key4 = item4->getDishKey(); if (m_dishCountMap.contains(key4)) { item4->setCount(m_dishCountMap[key4]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item4, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); cai1 *item5 = new cai1(); ui->tableWidget_1->setCellWidget(1,1,item5); item5->setInfo("粉蒸肉", 35, "D:/QT2/main/pic/08.png"); QString key5 = item5->getDishKey(); if (m_dishCountMap.contains(key5)) { item5->setCount(m_dishCountMap[key5]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item5, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); cai1 *item6 = new cai1(); ui->tableWidget_1->setCellWidget(1,2,item6); item6->setInfo("粉蒸肉", 35, "D:/QT2/main/pic/09.png"); QString key6 = item6->getDishKey(); if (m_dishCountMap.contains(key6)) { item6->setCount(m_dishCountMap[key6]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item6, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } void diancai::on_stirBt_clicked() { diancai::resetTableWidgets(); ui->tableWidget_1->setRowCount(2); ui->tableWidget_1->setColumnCount(3); // for(int i=0; i<2; i++){ // for(int j=0;j<3; j++){ cai1 *item1 = new cai1(); ui->tableWidget_1->setCellWidget(0,0,item1); item1->setInfo("西红柿炒鸡蛋", 15, "D:/QT2/main/pic/cai3.png"); QString key1 = item1->getDishKey(); if (m_dishCountMap.contains(key1)) { item1->setCount(m_dishCountMap[key1]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item1, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); // } // } // for(int i=0; i<2; i++){ // for(int j=0;j<3; j++){ cai1 *item2 = new cai1(); ui->tableWidget_1->setCellWidget(0,1,item2); item2->setInfo("青椒炒肉条", 25, "D:/QT2/main/pic/cai4.png"); QString key2 = item2->getDishKey(); if (m_dishCountMap.contains(key2)) { item2->setCount(m_dishCountMap[key2]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item2, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); // } // } // for(int i=0; i<2; i++){ // for(int j=0;j<3; j++){ cai1 *item3 = new cai1(); ui->tableWidget_1->setCellWidget(0,2,item3); item3->setInfo("青椒炒蛋", 18, "D:/QT2/main/pic/102.png"); QString key3 = item3->getDishKey(); if (m_dishCountMap.contains(key3)) { item3->setCount(m_dishCountMap[key3]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item3, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); // } // } // for(int i=0; i<2; i++){ // for(int j=0;j<3; j++){ cai1 *item4 = new cai1(); ui->tableWidget_1->setCellWidget(1,0,item4); item4->setInfo("清炒豆芽", 15, "D:/QT2/main/pic/cai6.png"); QString key4 = item4->getDishKey(); if (m_dishCountMap.contains(key4)) { item4->setCount(m_dishCountMap[key4]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item4, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); // } // } // for(int i=0; i<2; i++){ // for(int j=0;j<3; j++){ cai1 *item5 = new cai1(); ui->tableWidget_1->setCellWidget(1,1,item5); item5->setInfo("辣椒炒五花肉", 30, "D:/QT2/main/pic/10.png"); QString key5 = item5->getDishKey(); if (m_dishCountMap.contains(key5)) { item5->setCount(m_dishCountMap[key5]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item5, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); // } // } // for(int i=0; i<2; i++){ // for(int j=0;j<3; j++){ cai1 *item6 = new cai1(); ui->tableWidget_1->setCellWidget(1,2,item6); item6->setInfo("麻婆豆腐", 20, "D:/QT2/main/pic/101.png"); QString key6 = item6->getDishKey(); if (m_dishCountMap.contains(key6)) { item6->setCount(m_dishCountMap[key6]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item6, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); // } // } } void diancai::resetTableWidgets() { // 先销毁已有的所有窗口 int rowCount = ui->tableWidget_1->rowCount(); int colCount = ui->tableWidget_1->columnCount(); for (int i = 0; i < rowCount; ++i) { for (int j = 0; j < colCount; ++j) { // 获取单元格中的部件 QWidget* widget = ui->tableWidget_1->cellWidget(i, j); if (widget) { cai1 *item = qobject_cast<cai1*>(widget); if (item) { QString key = item->getDishKey(); // 假设 cai1 类有一个 getDishKey 方法返回菜品的唯一标识 m_dishCountMap[key] = item->getCount(); // 假设 cai1 类有一个 getCount 方法返回菜品的数量 } } } } for (int i = 0; i < rowCount; ++i) { for (int j = 0; j < colCount; ++j) { // 获取单元格中的部件 QWidget* widget = ui->tableWidget_1->cellWidget(i, j); if (widget) { // 从表格中移除并删除部件 ui->tableWidget_1->setCellWidget(i, j, nullptr); delete widget; // 销毁窗口 } } } } void diancai::on_soupBt_clicked() { diancai::resetTableWidgets(); ui->tableWidget_1->setRowCount(2); ui->tableWidget_1->setColumnCount(3); for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(0,0,item); item->setInfo("冬瓜排骨汤", 18, "D:/QT2/main/pic/cai9.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(0,1,item); item->setInfo("萝卜菌菇汤", 28, "D:/QT2/main/pic/cai10.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(0,2,item); item->setInfo("枸杞鸡汤", 18, "D:/QT2/main/pic/cai11.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(1,0,item); item->setInfo("银耳薏仁汤", 20, "D:/QT2/main/pic/cai12.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(1,1,item); item->setInfo("萝卜玉米排骨汤", 25, "D:/QT2/main/pic/103.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(1,2,item); item->setInfo("牛肉蔬菜汤", 30, "D:/QT2/main/pic/104.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } } void diancai::on_snackBt_clicked() { diancai::resetTableWidgets(); ui->tableWidget_1->setRowCount(2); ui->tableWidget_1->setColumnCount(3); for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(0,0,item); item->setInfo("凉拌腐竹", 12, "D:/QT2/main/pic/cai5.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(0,1,item); item->setInfo("凉拌海带", 10, "D:/QT2/main/pic/cai7.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(0,2,item); item->setInfo("凉拌凉皮", 8, "D:/QT2/main/pic/cai8.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(1,0,item); item->setInfo("酒鬼花生", 5, "D:/QT2/main/pic/cai13.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(1,1,item); item->setInfo("酸辣豆角", 8, "D:/QT2/main/pic/cai14.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(1,2,item); item->setInfo("凉拌黄瓜", 10, "D:/QT2/main/pic/cai16.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } } void diancai::on_drinkBt_clicked() { diancai::resetTableWidgets(); ui->tableWidget_1->setRowCount(2); ui->tableWidget_1->setColumnCount(3); for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(0,0,item); item->setInfo("青岛啤酒", 8, "D:/QT2/main/pic/cai17.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(0,1,item); item->setInfo("可乐", 4, "D:/QT2/main/pic/cai18.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(0,2,item); item->setInfo("橙汁", 5, "D:/QT2/main/pic/cai19.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(1,0,item); item->setInfo("王老吉", 5, "D:/QT2/main/pic/cai21.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(1,1,item); item->setInfo("老村长酒", 20, "D:/QT2/main/pic/cai20.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } for(int i=0; i<2; i++){ for(int j=0;j<3; j++){ cai1 *item = new cai1(); ui->tableWidget_1->setCellWidget(1,2,item); item->setInfo("椰汁", 5, "D:/QT2/main/pic/105.png"); QString key = item->getDishKey(); if (m_dishCountMap.contains(key)) { item->setCount(m_dishCountMap[key]); // 假设 cai1 类有一个 setCount 方法设置菜品的数量 } connect(item, &cai1::orderInfoChanged, [this](const QString& name, double price, int count) { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->updateOrderInfo(name, price, count); }); } } } void diancai::setTableNumber(const QString& tableNumber) { ui->TableEdit->setText(tableNumber); } void diancai::setPeopleCount(const QString& peopleCount) { ui->peopleEdit->setText(peopleCount); } void diancai::on_backBt_clicked() { emit backToMainWindow(); // 发出返回主窗口的信号 this->hide(); // 隐藏当前窗口 } void diancai::on_serviceBt_clicked() { if (!m_fuwu) { m_fuwu = new fuwu(this); } m_fuwu->show(); // m_tcpSocket->connectToHost("192.168.64.93", 9494); // 连接到服务器 m_serviceSocket->connectToHost("192.168.64.93", 9494); } void diancai::on_orderBt_clicked() { if (!m_dingdan) { m_dingdan = new dingdan(this); } m_dingdan->show(); } void diancai::on_checkoutBt_clicked() { if (!m_jiehzang) { m_jiehzang = new jiehzang(this); } if (m_dingdan) { m_jiehzang->setTotalPrice(m_dingdan->getTotalPrice()); // 假设添加了 getTotalPrice 方法 } m_jiehzang->show(); } void diancai::on_sendBT_clicked() { // 连接到服务器 m_tcpSocket->connectToHost("192.168.64.93", 9494); // IP 地址和端口号 // connect(m_tcpSocket, &QTcpSocket::connected, this, [this]() { // sendOrder(); // }); } void diancai::sendOrder() { // 获取桌号和人数 QString tableNumber = ui->TableEdit->text(); QString peopleCount = ui->peopleEdit->text(); // 获取订单信息 QString orderInfo; if (m_dingdan) { orderInfo = m_dingdan->getOrderInfo(); } // 构造要发送的消息 // QString message = QString("桌号: %1\n人数: %2\n%3").arg(tableNumber).arg(peopleCount).arg(orderInfo); QString message = QString("订单信息\n桌号: %1\n人数: %2\n%3") .arg(tableNumber).arg(peopleCount).arg(orderInfo); m_tcpSocket->write(message.toUtf8()); } void diancai::onBytesWritten(qint64 bytes) { qDebug() << "Bytes written:" << bytes; // 关闭连接 m_tcpSocket->disconnectFromHost(); } void diancai::onDisconnected() { qDebug() << "Disconnected from server"; } void diancai::onSocketError(QAbstractSocket::SocketError socketError) { qDebug() << "Socket error:" << m_tcpSocket->errorString(); } void diancai::sendServiceRequest() { QString tableNumber = ui->TableEdit->text(); // QString message = QString("桌号:%1需要服务").arg(ui->TableEdit->text()); QString message = QString("服务请求\n桌号:%1需要服务").arg(ui->TableEdit->text()); // m_tcpSocket->write(message.toUtf8()); m_serviceSocket->write(message.toUtf8()); } void diancai::onOrderBytesWritten(qint64 bytes) { qDebug() << "Order bytes written:" << bytes; m_tcpSocket->disconnectFromHost(); } void diancai::onOrderDisconnected() { qDebug() << "Order socket disconnected"; } void diancai::onServiceBytesWritten(qint64 bytes) { qDebug() << "Service bytes written:" << bytes; m_serviceSocket->disconnectFromHost(); } void diancai::onServiceDisconnected() { qDebug() << "Service socket disconnected"; } 这里有用到拷贝构造函数吗
07-31
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值