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

📄 pdialog.cpp

📁 局域网聊天室
💻 CPP
字号:
#include<QHostAddress>#include<QTextCodec>#include<QDateTime>#include<QMessageBox>#include <QColorDialog>#include <QPixmap>#include <QStringList>#include"pdialog.h"PDialog::PDialog(QWidget *parent): QDialog(parent){	;}void PDialog::init(QTcpSocket *tSocket, QString sourname, QString destname){	setupUi(this);	tcpSocket = tSocket;	this->sourname = sourname;	this->destname = destname;	QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF_8"));	QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF_8"));	QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF_8"));	QFontDatabase fontDB;	fontComboBox->addItems(fontDB.families());	fontComboBox->setCurrentIndex(fontComboBox->findText(QApplication::font().family()));	foreach(int size,fontDB.standardSizes())		comboBox->addItem(QString::number(size));	comboBox->setCurrentIndex(comboBox->findText(QString::number(QApplication::font().pointSize())));	toolButton->setCheckable(true);	connect(toolButton,SIGNAL(toggled(bool)),this,SLOT(setBoldFont(bool)));	toolButton_2->setCheckable(true);	connect(toolButton_2,SIGNAL(toggled(bool)),input,SLOT(setFontItalic(bool)));	toolButton_3->setCheckable(true);	connect(toolButton_3,SIGNAL(toggled(bool)),input,SLOT(setFontUnderline(bool)));	connect(toolButton_4,SIGNAL(clicked()),this,SLOT(setFontColor()));	connect(fontComboBox,SIGNAL(activated(const QString &)),			input,SLOT(setFontFamily(const QString &)));	connect(comboBox,SIGNAL(activated(const QString &)),			this,SLOT(setFontSize(const QString &)));	connect(closeButton,SIGNAL(clicked()),this,SLOT(Pclose()));	connect(enterButton, SIGNAL(clicked()), this, SLOT(sendMsg()));	connect(tcpSocket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(error()));	connect(messageButton,SIGNAL(clicked()),this,SLOT(messagerecord()));	show();}void PDialog::setDisplay(QString recMessage){	msgBuffer += recMessage;	display->setHtml(msgBuffer);	display->moveCursor(QTextCursor::End);	message_record =display->toPlainText();		QFile file("Pmessagerecord.txt");	file.open(QFile::WriteOnly | QFile::Append);	QTextStream out(&file);	out<<message_record<<endl;	message_record.clear();	file.close();}void PDialog::sendMsg(){	QTextStream out(tcpSocket);	QString sendMessage, inputMessage;	QDateTime dateTime = QDateTime::currentDateTime();	QString time = dateTime.toString("hh:mm:ss");	inputMessage = input->toHtml();	inputMessage.replace(QString("&"), QString("-"));	inputMessage.replace(QString("@"), QString("-"));	sendMessage = "message&" + destname + "&" + sourname + "&" + time + "&" + inputMessage + '@' + '\n';	out<<sendMessage;	input->clear();}void PDialog::error(){	QMessageBox::critical(this, "socket eror", tcpSocket->errorString());	tcpSocket->close();}void PDialog::setFontSize(const QString &size){	input->setFontPointSize(size.toFloat());}void PDialog::setBoldFont(bool flag){	if(flag == true)	{		input->setFontWeight(QFont::Bold);	}	else		input->setFontWeight(QFont::Normal);}void PDialog::setFontColor(){	QColor col = QColorDialog::getColor(input->textColor(),this);	if(!col.isValid())	{		return ;	}	input->setTextColor(col);	QPixmap pix(16,16);	pix.fill(col);	toolButton_4->setIcon(pix);}void PDialog::messagerecord(){	QFile file("Pmessagerecord.txt");	file.open(QFile::ReadOnly);	QByteArray msg = file.readAll();	QString record = QString::fromLocal8Bit(msg);	myrecord.recordBrowser->setText(record);	myrecord.show();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -