📄 pdialog.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 + -