Skip to content

Commit d4e21bc

Browse files
Merge pull request #85 from NekoSilverFox/MengJianing
Implement font style change function
2 parents c2feb15 + 343be63 commit d4e21bc

File tree

3 files changed

+67
-2
lines changed

3 files changed

+67
-2
lines changed

PolyChatApp/loginwidget.ui

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,13 @@
131131
<property name="bottomMargin">
132132
<number>0</number>
133133
</property>
134+
<item>
135+
<widget class="QPushButton" name="btnInfo">
136+
<property name="text">
137+
<string>🍖</string>
138+
</property>
139+
</widget>
140+
</item>
134141
<item>
135142
<spacer name="horizontalSpacer_3">
136143
<property name="orientation">

PolyChatApp/uil_chatboxwidget.cpp

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include "dal_polychat.h"
44
#include <QDataStream>
55
#include <QDateTime>
6+
#include <QColorDialog>
67

78
ChatBoxWidget::ChatBoxWidget(QWidget* parent, QString name, qint16 port)
89
: QWidget(parent)
@@ -43,6 +44,49 @@ ChatBoxWidget::ChatBoxWidget(QWidget* parent, QString name, qint16 port)
4344
/* 点击退出按钮,关闭窗口 */
4445
connect(ui->btnExit, &QPushButton::clicked,
4546
this, [=](){this->close();});
47+
48+
//////////////////////////////////////////////// 辅助功能 ////////////////////////////////////////////////
49+
/* 字体 */
50+
connect(ui->cbxFontType, &QFontComboBox::currentFontChanged,
51+
[=](const QFont& font){
52+
ui->msgTextEdit->setCurrentFont(font);
53+
ui->msgTextEdit->setFocus();
54+
});
55+
56+
/* 字号 */
57+
void(QComboBox::* cbxSingal)(const QString &text) = &QComboBox::currentTextChanged;
58+
connect(ui->cbxFontSize, cbxSingal,
59+
[=](const QString &text){
60+
ui->msgTextEdit->setFontPointSize(text.toDouble());
61+
ui->msgTextEdit->setFocus();
62+
});
63+
64+
/* 加粗 */
65+
connect(ui->btnBold, &QToolButton::clicked,
66+
[=](bool isCheck){
67+
if (isCheck) ui->msgTextEdit->setFontWeight(QFont::Bold);
68+
else ui->msgTextEdit->setFontWeight(QFont::Normal);
69+
});
70+
71+
/* 倾斜 */
72+
connect(ui->btnItalic, &QToolButton::clicked,
73+
[=](bool isCheck){
74+
ui->msgTextEdit->setFontItalic(isCheck);
75+
});
76+
77+
78+
/* 下划线 */
79+
connect(ui->btnUnderLine, &QToolButton::clicked,
80+
[=](bool isCheck){
81+
ui->msgTextEdit->setFontUnderline(isCheck);
82+
});
83+
84+
/* 更改颜色 */
85+
connect(ui->btnColor, &QToolButton::clicked,
86+
[=](){
87+
QColor color = QColorDialog::getColor(Qt::black);
88+
ui->msgTextEdit->setTextColor(color);
89+
});
4690
}
4791

4892
ChatBoxWidget::~ChatBoxWidget()
@@ -244,12 +288,15 @@ QString ChatBoxWidget::getAndCleanMsg()
244288
void ChatBoxWidget::closeEvent(QCloseEvent* event)
245289
{
246290
emit this->signalClose();
247-
sendUDPSignal(SignalType::UserLeft);
248291

249292
if (1 == ui->tbUser->rowCount())
250293
{
251294
sendUDPSignal(SignalType::ChatDestory);
252-
} // TODO
295+
}
296+
else
297+
{
298+
sendUDPSignal(SignalType::UserLeft);
299+
}
253300

254301
udpSocketOnPortChatList->close(); // 关闭套接字
255302
udpSocketOnPortChatList->destroyed();

PolyChatApp/uil_loginwidget.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,17 @@ LoginWidget::LoginWidget(QWidget *parent) :
1818
connect(ui->btnLogin, &QPushButton::clicked,
1919
this, &LoginWidget::userLogin);
2020

21+
connect(ui->btnInfo, &QPushButton::clicked,
22+
this, [=](){
23+
QMessageBox::information(this, "About Polychat",
24+
"Project SPbSTU<br><br>"
25+
"Source Code:<br>"
26+
"<a href=\"https://github.com/NekoSilverFox/PolyChat\">[Github] PolyChat</a>"
27+
"<br><br>"
28+
"License: Apache License 2.0"
29+
"<br><br>"
30+
"Made on Qt 6.2");
31+
});
2132
}
2233

2334

0 commit comments

Comments
 (0)