initial commit
This commit is contained in:
66
client/gui/dialogs/AboutWindow.cpp
Normal file
66
client/gui/dialogs/AboutWindow.cpp
Normal file
@@ -0,0 +1,66 @@
|
||||
#include "dialogs/AboutWindow.h"
|
||||
|
||||
#include <QVBoxLayout>
|
||||
#include <QLabel>
|
||||
#include <QPushButton>
|
||||
#include <QHBoxLayout>
|
||||
#include <QDesktopServices>
|
||||
#include <QUrl>
|
||||
#include <QFont>
|
||||
|
||||
AboutWindow::AboutWindow(QWidget* parent)
|
||||
: QDialog(parent)
|
||||
{
|
||||
setWindowTitle("About");
|
||||
setFixedSize(400, 300);
|
||||
|
||||
// ===== 标题 =====
|
||||
titleLabel = new QLabel("Landscape Interactive Tool");
|
||||
QFont titleFont;
|
||||
titleFont.setPointSize(16);
|
||||
titleFont.setBold(true);
|
||||
titleLabel->setFont(titleFont);
|
||||
titleLabel->setAlignment(Qt::AlignCenter);
|
||||
|
||||
// ===== 版本 =====
|
||||
versionLabel = new QLabel("Version: 1.0.0");
|
||||
versionLabel->setAlignment(Qt::AlignCenter);
|
||||
|
||||
// ===== 作者 =====
|
||||
authorLabel = new QLabel("Author: 丁伟豪");
|
||||
authorLabel->setAlignment(Qt::AlignCenter);
|
||||
|
||||
// ===== 描述 =====
|
||||
descLabel = new QLabel("An interactive tool for landscape visualization.\n"
|
||||
"Built with Qt.");
|
||||
descLabel->setAlignment(Qt::AlignCenter);
|
||||
descLabel->setWordWrap(true);
|
||||
|
||||
// // ===== GitHub 按钮 =====
|
||||
// githubButton = new QPushButton("GitHub");
|
||||
// connect(githubButton, &QPushButton::clicked, []() {
|
||||
// QDesktopServices::openUrl(QUrl("https://github.com/your_repo"));
|
||||
// });
|
||||
|
||||
// ===== 关闭按钮 =====
|
||||
closeButton = new QPushButton("Close");
|
||||
connect(closeButton, &QPushButton::clicked, this, &QDialog::accept);
|
||||
|
||||
// ===== 按钮布局 =====
|
||||
QHBoxLayout* buttonLayout = new QHBoxLayout;
|
||||
buttonLayout->addStretch();
|
||||
// buttonLayout->addWidget(githubButton);
|
||||
buttonLayout->addWidget(closeButton);
|
||||
|
||||
// ===== 主布局 =====
|
||||
QVBoxLayout* layout = new QVBoxLayout(this);
|
||||
layout->addWidget(titleLabel);
|
||||
layout->addWidget(versionLabel);
|
||||
layout->addWidget(authorLabel);
|
||||
layout->addSpacing(10);
|
||||
layout->addWidget(descLabel);
|
||||
layout->addStretch();
|
||||
layout->addLayout(buttonLayout);
|
||||
|
||||
setLayout(layout);
|
||||
}
|
||||
Reference in New Issue
Block a user