github地址
https://github.com/ITACHIhe/epoll_chat_room

服务器界面截图:

基于epoll和Qt的聊天室(1)

客户端界面截图

基于epoll和Qt的聊天室(1)

代码总量

基于epoll和Qt的聊天室(1)

服务器截图1的实现:

GUI实现方面:

基于epoll和Qt的聊天室(1)大部分的登录界面都是不能大小变化的,所以我这里也是实现不发生大小变化的。不实现的办法就是使这个界面的的最大化和最小化都是当前的大小。而注意,获取当前的大小得从show之后才能知道,所以要在show之后的。

main.cpp

w.setWindowFlags(Qt::WindowMinimizeButtonHint| Qt::WindowCloseButtonHint);//设置取消最大化的写法
w.setWindowTitle(“高并发聊天室服务器”);
w.show();
// 固定窗口大小的写法,这个必须在show的后面
QSize this_size=w.frameSize();
w.setMaximumSize(this_size);
w.setMinimumSize(this_size);//这三行就是实现上面所说的

还有就是实现跳转

widget.cpp

socket_server *r1=socket_server::getInstance();
r1->socket_start();
e1=new chioce();
e1->show();
r1->e1=e1;
QSize this_size=e1->frameSize();
e1->setMaximumSize(this_size);
e1->setMinimumSize(this_size);
this->hide();
所谓的跳转就是上一个隐藏,下一个界面显示。这里使用到单例模式,之后会提起。

相关文章: