資源簡介
點(diǎn)菜系統(tǒng)包括后臺(tái)數(shù)據(jù)服務(wù)系統(tǒng)和前臺(tái)運(yùn)行管理系統(tǒng)。本文檔主要描述前臺(tái)運(yùn)營管理系統(tǒng)和后臺(tái)服務(wù)系統(tǒng)兩個(gè)子系統(tǒng)。
前臺(tái)運(yùn)營管理系統(tǒng):
點(diǎn)菜系統(tǒng)是基于Linux平臺(tái)的實(shí)驗(yàn)室環(huán)境,選擇使用QT實(shí)現(xiàn)界面的繪制,以及多線程的實(shí)現(xiàn)。主要有點(diǎn)菜、查詢、結(jié)賬、同步、更新這5個(gè)功能。
點(diǎn)菜:向用戶展示菜單,具有點(diǎn)菜和翻頁的功能
查詢:根據(jù)用戶所在的臺(tái)號,查詢所點(diǎn)的菜單。
結(jié)賬:當(dāng)進(jìn)入結(jié)賬頁面時(shí),根據(jù)輸入的臺(tái)號,顯示所點(diǎn)的菜單與總的消費(fèi)金額。
同步:主要是實(shí)現(xiàn)客戶端和服務(wù)器端進(jìn)行菜單實(shí)時(shí)同步的功能
更新:提供更新客戶端本地菜單的功能
后臺(tái)服務(wù)系統(tǒng):
后臺(tái)服務(wù)端控制線程類,解析客戶端發(fā)送的初步請求,并創(chuàng)建實(shí)現(xiàn)對應(yīng)功能的子線程與客戶端進(jìn)行交互。
代碼片段和文件信息
/****************************************************************************
**?meta?object?code?from?reading?C++?file?‘Check.h‘
**
**?Created?by:?The?Qt?meta?object?Compiler?version?67?(Qt?5.7.0)
**
**?WARNING!?All?changes?made?in?this?file?will?be?lost!
*****************************************************************************/
#include?“../../MenuClient/Check.h“
#include?
#include?tatype.h>
#if?!defined(Q_MOC_OUTPUT_REVISION)
#error?“The?header?file?‘Check.h‘?doesn‘t?include?ject>.“
#elif?Q_MOC_OUTPUT_REVISION?!=?67
#error?“This?file?was?generated?using?the?moc?from?5.7.0.?It“
#error?“cannot?be?used?with?the?include?files?from?this?version?of?Qt.“
#error?“(The?moc?has?changed?too?much.)“
#endif
QT_BEGIN_MOC_NAMESPACE
struct?qt_meta_stringdata_Check_t?{
????QByteArrayData?data[4];
????char?stringdata0[30];
};
#define?QT_MOC_LITERAL(idx?ofs?len)?\
????Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len?\
????qptrdiff(offsetof(qt_meta_stringdata_Check_t?stringdata0)?+?ofs?\
????????-?idx?*?sizeof(QByteArrayData))?\
????)
static?const?qt_meta_stringdata_Check_t?qt_meta_stringdata_Check?=?{
????{
QT_MOC_LITERAL(0?0?5)?//?“Check“
QT_MOC_LITERAL(1?6?12)?//?“handleFinish“
QT_MOC_LITERAL(2?19?0)?//?““
QT_MOC_LITERAL(3?20?9)?//?“l(fā)_strText“
????}
????“Check\0handleFinish\0\0l_strText“
};
#undef?QT_MOC_LITERAL
static?const?uint?qt_meta_data_Check[]?=?{
?//?content:
???????7???????//?revision
???????0???????//?classname
???????0????0?//?classinfo
???????1???14?//?methods
???????0????0?//?properties
???????0????0?//?enums/sets
???????0????0?//?constructors
???????0???????//?flags
???????0???????//?signalCount
?//?slots:?name?argc?parameters?tag?flags
???????1????1???19????2?0x0a?/*?Public?*/
?//?slots:?parameters
????QmetaType::Void?QmetaType::QString????3
???????0????????//?eod
};
void?Check::qt_static_metacall(Qobject?*_o?Qmetaobject::Call?_c?int?_id?void?**_a)
{
????if?(_c?==?Qmetaobject::InvokemetaMethod)?{
????????Check?*_t?=?static_cast(_o);
????????Q_UNUSED(_t)
????????switch?(_id)?{
????????case?0:?_t->handleFinish((*reinterpret_cast(_a[1])));?break;
????????default:?;
????????}
????}
}
const?Qmetaobject?Check::staticmetaobject?=?{
????{?&QMyWidget::staticmetaobject?qt_meta_stringdata_Check.data
??????qt_meta_data_Check??qt_static_metacall?Q_NULLPTR?Q_NULLPTR}
};
const?Qmetaobject?*Check::metaobject()?const
{
????return?Qobject::d_ptr->metaobject???Qobject::d_ptr->dynamicmetaobject()?:?&staticmetaobject;
}
void?*Check::qt_metacast(const?char?*_clname)
{
????if?(!_clname)?return?Q_NULLPTR;
????if?(!strcmp(_clname?qt_meta_stringdata_Check.stringdata0))
????????return?static_cast(const_cast(this));
????return?QMyWidget::qt_metacast(_clname);
}
int?Check::qt_metacall(Qmetaobject::Call?_c?int?_id?void?**_a)
{
評論
共有 條評論