实现了什么功能
客户端
用到的知识点
使用了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();