首页 Qt官方示例解析系列6:Local Fortune Server and Client
文章
取消

Qt官方示例解析系列6:Local Fortune Server and Client

实现了什么功能

elesos

客户端

elesos

用到的知识点

使用了QDialogButtonBox,一个作为ActionRole,一个作为RejectRole,

QLocalServer为服务端, QLocalSocket是客户端。

部分源码解析

1
2
3
4
5
6
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);//会在标题栏添加一个问号按钮,这里会去掉
服务端会收到QLocalServer::newConnection 信号, 然后调用 nextPendingConnection()获取 QLocalSocket 对象,然后就可以读写数据了。
用完后要disconnectFromServer();

其它:
int fortuneIndex = QRandomGenerator::global()->bounded(0, fortunes.size()); //生成随机数

客户端源码:

1
2
3
4
QDataStream.setDevice(socket);
数据准备好后,QLocalSocket::readyRead信号会被触发,就可以使用QDataStream读取数据了。
	 
connectToServer前先 socket->abort();
本文由作者按照 CC BY 4.0 进行授权