本人大二(马上大三),学校安排来实习,(其实就是学习),老师教了我们2天的Qt就叫我们做项目,这项目还涉及了服务器的知识(幸亏组里有大神会搭建服务器)
本系统分为2大部分,客户端和服务端,我负责客户端部分,在做项目中因为缺少资料我几乎无时无刻不是在查文档就是在百度。。(文档请见http://www.kuqin.com/qtdocument/classes.html
或者(Windows)在Qt中选中一个类或者函数,点击f1,或者(mac) 中点击fn+f1。
取号界面:
职员登录:
叫号界面:
经理界面:
基本功能
- 取号终端:普通客户的取号,Vip客户的验证和取号,显示当前普通客户排队人数和vip客户排队人数(需要更新)
- 职员登录终端:经理登录验证和柜员登录验证
- 经理登录:查看当前排队的人数
- 柜员登录:语音叫号,显示当前受理用户
设计思路
- 取号终端:设计UI界面 ——》按钮转到槽 ——》给服务器发送消息(普通就发“我要号码”,vip就发他的身份证验证)——》接收服务器数据——》改变排队人数和显示对话框,给客户号码
- 职员登录终端:同上,验证正确时候创建以下2个类的对象
3.经理登录: 。。。没什么好设计的 - 柜员登录:按叫号——》发消息——》收消息——》显示到界面上。。。。
好吧。。。客户端真的很简单,下面总结下遇到的问题
客户端与服务器的连接
在Pro文件中加:
QT += network
使用套接字
首先创建全局变量
QTcpSocket *tcpSocket;
// 初始化
QueueTerminal::QueueTerminal(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::QueueTerminal)
{
ui->setupUi(this);
this -> move(100, 200);
tcpSocket = new QTcpSocket; // new套接字
// 设置ip地址和端口
tcpSocket -> connectToHost("10.25.251.109", 8000);
// 当读到服务器给的信息时候,信号触发,调用槽
connect( tcpSocket, SIGNAL(readyRead()), this, SLOT(receiveFrontNumFromServer()));
tcpSocket -> write("get_queue\n");
}
读消息&#