66 lines
1.9 KiB
C++
66 lines
1.9 KiB
C++
#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);
|
|
} |