update SelfInfoWidget

This commit is contained in:
xyz
2025-05-29 21:36:43 +08:00
parent 38f3a397fd
commit 51f0b4941f
5 changed files with 323 additions and 6 deletions

9
.gitignore vendored
View File

@ -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

22
CMakePresets.json Normal file
View File

@ -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="
}
}
}

76
CMakeUserPresets.json Normal file
View File

@ -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="
}
}
}

176
SelfInfoWidget.cpp Normal file
View File

@ -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
}

46
SelfInfoWidget.h Normal file
View File

@ -0,0 +1,46 @@
#pragma once
#include <QDialog>
#include <QWidget>
#include <QLabel>
#include <qlineedit.h>
#include <QCursor>
#include <QGridLayout>
#include <QPushButton>
#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;//获取验证码按钮
};