diff --git a/.gitignore b/.gitignore index c9c9429..14af40c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,13 +2,10 @@ build/ # 忽略 Qt Creator 的用户配置文件 CMakeLists.txt.user *.user - -# 其他常见 IDE 文件(根据实际使用情况添加) -.idea/ # CLion -.vscode/ # VS Code -.vs/ # Visual Studio +.idea/ +.vscode/ +.vs/ *.iml -*.user *.suo *.vsidx *.ipch diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 0000000..56c4ce3 --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,22 @@ +{ + "version": 3, + "configurePresets": [ + { + "hidden": true, + "name": "Qt", + "cacheVariables": { + "CMAKE_PREFIX_PATH": "$env{QTDIR}" + }, + "vendor": { + "qt-project.org/Qt": { + "checksum": "wVa86FgEkvdCTVp1/nxvrkaemJc=" + } + } + } + ], + "vendor": { + "qt-project.org/Presets": { + "checksum": "67SmY24ZeVbebyKD0fGfIzb/bGI=" + } + } +} \ No newline at end of file diff --git a/CMakeUserPresets.json b/CMakeUserPresets.json new file mode 100644 index 0000000..d04f08a --- /dev/null +++ b/CMakeUserPresets.json @@ -0,0 +1,76 @@ +{ + "version": 3, + "configurePresets": [ + { + "name": "Qt-Debug", + "inherits": "Qt-Default", + "binaryDir": "${sourceDir}/out/build/debug", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug", + "CMAKE_CXX_FLAGS": "-DQT_QML_DEBUG" + }, + "environment": { + "QML_DEBUG_ARGS": "-qmljsdebugger=file:{7e8c2a2f-a445-4c9b-bb42-24fd265a3e1e},block" + } + }, + { + "name": "Qt-Release", + "inherits": "Qt-Default", + "binaryDir": "${sourceDir}/out/build/release", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release" + } + }, + { + "hidden": true, + "name": "Qt-Default", + "inherits": "6.9.0", + "vendor": { + "qt-project.org/Default": { + "checksum": "ogzyvXATpX3FyMqBErb6IpyYPKI=" + } + } + }, + { + "hidden": true, + "name": "5.14.0", + "inherits": "Qt", + "environment": { + "QTDIR": "E:/Qt/Qt5.14.0/5.14.0/msvc2017_64" + }, + "architecture": { + "strategy": "external", + "value": "x64" + }, + "generator": "Ninja", + "vendor": { + "qt-project.org/Version": { + "checksum": "3cWOu5Lvdo5oEp6qU2AAXDl3CO8=" + } + } + }, + { + "hidden": true, + "name": "6.9.0", + "inherits": "Qt", + "environment": { + "QTDIR": "E:/Qt/Qt6.9.0/6.9.0/msvc2022_64" + }, + "architecture": { + "strategy": "external", + "value": "x64" + }, + "generator": "Ninja", + "vendor": { + "qt-project.org/Version": { + "checksum": "5GMO6/002JUUngppM/iaIHJADvk=" + } + } + } + ], + "vendor": { + "qt-project.org/Presets": { + "checksum": "0wzuyL8qCbVtFSbq9ZO9Fr8MNQU=" + } + } +} \ No newline at end of file diff --git a/SelfInfoWidget.cpp b/SelfInfoWidget.cpp new file mode 100644 index 0000000..1de57b1 --- /dev/null +++ b/SelfInfoWidget.cpp @@ -0,0 +1,176 @@ +#include "SelfInfoWidget.h" + +SelfInfoWidget::SelfInfoWidget(QWidget *parent) + : QDialog(parent) +{ + //设置整个窗口的属性 + this->setFixedSize(450, 250); + this->setWindowTitle("个人信息"); + this->setWindowIcon(QIcon(":/resource/image/logo.png")); + //窗口被关闭时,自动销毁这个对话框对象 + this->setAttribute(Qt::WA_DeleteOnClose); + //把窗口移动到鼠标当前的位置 + this->move(QCursor::pos()); + + //创建布局管理器 + QGridLayout* layout = new QGridLayout(); + layout->setSpacing(0); + layout->setContentsMargins(0, 0, 0, 0); + layout->setAlignment(Qt::AlignTop); + this->setLayout(layout); + + //创建头像 + avatarBtn = new QPushButton(); + avatarBtn->setFixedSize(75, 75); + avatarBtn->setIconSize(QSize(75, 75)); + avatarBtn->setIcon(QIcon(":/resource/image/defaultAvatar.png")); + avatarBtn->setStyleSheet("QPushButton { border: none; background-color: transparent; }"); + + QString labelStyle = "QLabel { font-size: 14px; font-weight: 800; }"; + QString btnStyle = "QPushButton {border: none; background-color: transparent; }"; + btnStyle += "QPushButton:pressed { background-color: rgb(210, 210, 210); }"; + + int height = 30; + + //添加用户的ID的显示 + idTag = new QLabel(); + idTag->setFixedSize(50, height); + idTag->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + idTag->setText("序号"); + idTag->setStyleSheet(labelStyle); + + idLabel = new QLabel(); + idLabel->setFixedHeight(height); + idLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + + //添加新的用户的名字的显示 + nameTag = new QLabel(); + nameTag->setFixedSize(50, height); + nameTag->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + nameTag->setText("昵称"); + nameTag->setStyleSheet(labelStyle); + + nameLabel = new QLabel(); + nameLabel->setFixedHeight(height); + nameLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + + nameModifyBtn = new QPushButton(); + nameModifyBtn->setFixedSize(25, 25); + nameModifyBtn->setIconSize(QSize(20, 20)); + nameModifyBtn->setIcon(QIcon(":/resource/image/modify.png")); + nameModifyBtn->setStyleSheet(btnStyle); + + nameEdit = new QLineEdit(); + nameEdit->setFixedHeight(height); + nameEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + nameEdit->hide(); + + nameSubmitBtn = new QPushButton(); + nameSubmitBtn->setFixedSize(25, 25); + nameSubmitBtn->setIconSize(QSize(20, 20)); + nameSubmitBtn->setIcon(QIcon(":/resource/image/submit.png")); + nameSubmitBtn->setStyleSheet(btnStyle); + nameSubmitBtn->hide(); + + //添加个性签名 + descTag = new QLabel(); + descTag->setFixedSize(50, height); + descTag->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + descTag->setText("签名"); + descTag->setStyleSheet(labelStyle); + + descLabel = new QLabel(); + descLabel->setFixedHeight(height); + descLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + + descModifyBtn = new QPushButton(); + descModifyBtn->setFixedSize(25, 25); + descModifyBtn->setIconSize(QSize(20, 20)); + descModifyBtn->setIcon(QIcon(":/resource/image/modify.png")); + descModifyBtn->setStyleSheet(btnStyle); + + descEdit = new QLineEdit(); + descEdit->setFixedHeight(height); + descEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + descEdit->hide(); + + descSubmitBtn = new QPushButton(); + descSubmitBtn->setFixedSize(25, 25); + descSubmitBtn->setIconSize(QSize(20, 20)); + descSubmitBtn->setIcon(QIcon(":/resource/image/modify.png")); + descSubmitBtn->setStyleSheet(btnStyle); + descSubmitBtn->hide(); + + // 7. 添加电话 + phoneTag = new QLabel(); + phoneTag->setFixedSize(50, height); + phoneTag->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + phoneTag->setText("电话"); + phoneTag->setStyleSheet(labelStyle); + + phoneLabel = new QLabel(); + phoneLabel->setFixedHeight(height); + phoneLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + + phoneModifyBtn = new QPushButton(); + phoneModifyBtn->setFixedSize(25, 25); + phoneModifyBtn->setIconSize(QSize(20, 20)); + phoneModifyBtn->setIcon(QIcon(":/resource/image/modify.png")); + phoneModifyBtn->setStyleSheet(btnStyle); + + phoneEdit = new QLineEdit(); + phoneEdit->setFixedHeight(height); + phoneEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + phoneEdit->hide(); + + phoneSubmitBtn = new QPushButton(); + phoneSubmitBtn->setFixedSize(25, 25); + phoneSubmitBtn->setIconSize(QSize(20, 20)); + phoneSubmitBtn->setIcon(QIcon(":/resource/image/submit.png")); + phoneSubmitBtn->setStyleSheet(btnStyle); + phoneSubmitBtn->hide(); + + + // 8. 添加验证码 + verifyCodeTag = new QLabel(); + verifyCodeTag->setFixedSize(50, height); + verifyCodeTag->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + verifyCodeTag->setText("输入验证码:"); + verifyCodeTag->setStyleSheet(labelStyle); + + verifyCodeEdit = new QLineEdit(); + verifyCodeEdit->setFixedHeight(height); + verifyCodeEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + //verifyCodeEdit->hide(); + + getVerifyCodeBtn = new QPushButton(); + getVerifyCodeBtn->setText("获取验证码"); + + + layout->addWidget(avatarBtn, 0, 0, 3, 1); + layout->addWidget(idTag, 0, 1); + layout->addWidget(idLabel, 0, 2); + + layout->addWidget(nameTag, 1, 1); + layout->addWidget(nameLabel, 1, 2); + layout->addWidget(nameModifyBtn, 1, 3); + + layout->addWidget(descTag, 2, 1); + layout->addWidget(descLabel, 2, 2); + layout->addWidget(descModifyBtn, 2, 3); + + layout->addWidget(phoneTag, 3, 1); + layout->addWidget(phoneLabel, 3, 2); + layout->addWidget(phoneModifyBtn, 3, 3); + + layout->addWidget(verifyCodeTag, 4, 1); + layout->addWidget(verifyCodeEdit, 4, 2); + layout->addWidget(getVerifyCodeBtn, 4, 3); + +#if TEST_UI + idLabel->setText("12345"); + nameLabel->setText("xyz"); + descLabel->setText("It didn't matter that i lived another day."); + phoneLabel->setText("12345678900"); +#endif +} diff --git a/SelfInfoWidget.h b/SelfInfoWidget.h new file mode 100644 index 0000000..1e35d15 --- /dev/null +++ b/SelfInfoWidget.h @@ -0,0 +1,46 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include "debug.h" + +class SelfInfoWidget : public QDialog +{ + Q_OBJECT + +public: + SelfInfoWidget(QWidget *parent); + //~SelfInfoWidget(); + +private: + QPushButton* avatarBtn; + QLabel* idTag; //序号标签 + QLabel* idLabel; //序号 + + QLabel* nameTag;//昵称标签 + QLabel* nameLabel;//名字 + QLineEdit* nameEdit;//编辑昵称 + QPushButton* nameModifyBtn;//修改昵称 + QPushButton* nameSubmitBtn;//提交修改 + + QLabel* descTag;//签名标签 + QLabel* descLabel;//签名 + QLineEdit* descEdit;//编辑签名 + QPushButton* descModifyBtn;//修改签名 + QPushButton* descSubmitBtn;//提交修改 + + QLabel* phoneTag;//电话标签 + QLabel* phoneLabel;//电话号码 + QLineEdit* phoneEdit;//编辑电话 + QPushButton* phoneModifyBtn;//修改电话 + QPushButton* phoneSubmitBtn;//提交修改 + + QLabel* verifyCodeTag;//显示验证码 + QLineEdit* verifyCodeEdit;//输入验证码 + QPushButton* getVerifyCodeBtn;//获取验证码按钮 +};