⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chat.cpp

📁 在linux环境下
💻 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 + -