-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaboutscreen.cpp
70 lines (63 loc) · 2.49 KB
/
aboutscreen.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "aboutscreen.h"
#include "ui_aboutscreen.h"
#include "uiconfig.h"
#include <QApplication>
#include <QFontDatabase>
#include <QSound>
#include <QPushButton>
#include <QScreen>
AboutScreen::AboutScreen(QWidget *parent)
: QWidget(parent)
, ui(new Ui::AboutScreen)
{
ui->setupUi(this);
initUI();
connect(ui->pushButton_1, &QPushButton::clicked, this, &AboutScreen::showMoreInfo);
connect(ui->pushButton_2, &QPushButton::clicked, this, &AboutScreen::backToTitleScreen);
}
AboutScreen::~AboutScreen()
{
disconnect(ui->pushButton_1, &QPushButton::clicked, this, &AboutScreen::showMoreInfo);
disconnect(ui->pushButton_2, &QPushButton::clicked, this, &AboutScreen::backToTitleScreen);
delete ui;
}
void AboutScreen::initUI() {
// 根据父窗口大小调整控件大小
QSize screenSize = CustomWidget::adjustSize(this);
ui->frame->resize(screenSize);
ui->layoutWidget->setGeometry(screenSize.width() * 0.25, screenSize.height() * 0.2,
screenSize.width() * 0.5, screenSize.height() * 0.5);
ui->label->resize(screenSize.width() * 0.3, screenSize.height() * 0.1);
ui->label_2->resize(screenSize.width() * 0.3, screenSize.height() * 0.3);
QSize btnSize(screenSize.width() / 5, screenSize.height() / 25);
// 设置圆角
int radius = btnSize.height() / 2;
QString btnStyle = QString("border-radius: %1px;").arg(radius);
// 设置按钮字体
QString fontName = ZZZFont::get();
QFont btnFont(fontName, btnSize.height() / 3);
// 设置按钮样式
CustomBtn::setCustomBtn(ui->pushButton_1, btnSize, btnStyle, btnFont);
CustomBtn::setCustomBtn(ui->pushButton_2, btnSize, btnStyle, btnFont);
ui->label->setFont(QFont(fontName, btnSize.height()));
ui->label_2->setFont(QFont(fontName, btnSize.height() / 3));
ui->label_3->setFont(QFont(fontName, btnSize.height() / 3));
ui->label_3->hide();
}
void AboutScreen::backToTitleScreen() {
if (ui->label_3->isVisible()) {
ui->label_3->hide();
ui->pushButton_1->show();
return;
}
this->hide();
}
void AboutScreen::showMoreInfo() {
// html 作者b站主页 作者
ui->label_3->setOpenExternalLinks(true);
ui->label_3->setText("<p>作者:混沌之人1823</p>"
"<a href='https://space.bilibili.com/433370534'>"
"作者b站主页</a>");
ui->label_3->show();
ui->pushButton_1->hide();
}