📄 chat.cpp
字号:
#include "chat.h"
#include <qvariant.h>
#include <qpushbutton.h>
#include <qtextedit.h>
#include <qlayout.h>
#include <qtooltip.h>
#include <qwhatsthis.h>
#include <qimage.h>
#include <qpixmap.h>
#include <qmessagebox.h>
#include <qstring.h>
#include <qdatetime.h>
#include <qsocket.h>
#include <qserversocket.h>
#include <stdlib.h>
Chat::Chat( QWidget* parent, const char* name, bool modal, WFlags fl ): Form( parent, name, modal, fl )
{
readEdit->setReadOnly(TRUE);
connect(sendButton, SIGNAL(clicked()), SLOT(messageSending()));
connect(closeButton, SIGNAL(clicked()), SLOT(close()));
socket = new QSocket(this);
connect(socket, SIGNAL(connected()), SLOT(socketConnected()));
connect(socket,SIGNAL(connectionClosed()),SLOT(socketConnectionClosed()));
connect(socket, SIGNAL(readyRead()), SLOT(socketReadyRead()));
connect(socket, SIGNAL(error(int)), SLOT(socketError(int)));
readEdit->append(QString::fromLocal8Bit("..."));
socket->connectToHost("localhost",22222);
}
void Chat::messageSending()
{
message = inputEdit->text();
if(message.isEmpty())
{
QMessageBox::about(this,message.fromLocal8Bit(""),message.fromLocal8Bit
( "!"));
return;
}
readEdit->append(QString("\n[%1] %2 %3\n%4").arg
(nowDateTime.currentDateTime().
toString("yyyy-MM-dd hh:mm:ss")).arg("test ").arg
(QString::fromLocal8Bit(":")).arg(message));
QDataStream out(socket);
out << "test " << message;
inputEdit -> clear();
//out << userName << content;
}
void Chat::socketConnected()
{
readEdit->append(QString::fromLocal8Bit("\n"));
}
void Chat::socketReadyRead()
{
while(socket->canReadLine())
{
readEdit->append(socket->readLine());
}
}
void Chat::socketConnectionClosed()
{
readEdit->append(QString::fromLocal8Bit("\n"));
}
void Chat::socketError(int e)
{
readEdit->append(QString::fromLocal8Bit("\n").arg(e));
}
Chat::~Chat()
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -