当前位置: 首页 > wzjs >正文

塘厦企业网站推广公司如何开发一个软件平台

塘厦企业网站推广公司,如何开发一个软件平台,泰安房产最新网签情况,下载的字体如何安装到wordpress题目1:Qt 实现用户登录界面及记住密码功能 要求: 1、用户登录界面包括用户名和密码输入框,密码框支持显示和隐藏密码。 2、支持记住密码功能,通过复选框保存用户是否选择记住密码。 3、在退出时保存用户的登录信息(如用…

题目1:Qt 实现用户登录界面及记住密码功能

要求:

1、用户登录界面包括用户名和密码输入框,密码框支持显示和隐藏密码。
2、支持记住密码功能,通过复选框保存用户是否选择记住密码。
3、在退出时保存用户的登录信息(如用户名和密码),并支持加载这些信息。
4、支持管理用户的账号列表,通过双击列表项删除用户,检查用户名是否重复并添加新账号。

 

widget.cpp 

#include "widget.h"
#include "ui_widget.h"// 构造函数
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{// 设置 UI 界面ui->setupUi(this);// 加载用户名,并填充到文本框QString name = load_data("C:/Users/80657/Documents/QT_PROJECT/name.txt");ui->lineEdit->setText(name);// 加载密码,并填充到密码框QString pwd = load_data("C:/Users/80657/Documents/QT_PROJECT/pwd.txt");ui->lineEdit_2->setText(pwd);// 判断是否选中了“记住密码”QString rememberPwd = load_data("C:/Users/80657/Documents/QT_PROJECT/rememberPwd.txt");if (rememberPwd == "true") { // 如果记住密码ui->checkBox->setChecked(true); // 复选框设为选中} else { // 如果不记住密码ui->checkBox->setChecked(false); // 复选框设为未选中ui->lineEdit_2->clear(); // 清空密码输入框}}// 析构函数
Widget::~Widget()
{// 获取用户名,并保存到文件QString name = ui->lineEdit->text();save_data("C:/Users/80657/Documents/QT_PROJECT/name.txt", name);// 获取密码,并保存到文件(暂未启用)QString pwd = ui->lineEdit_2->text();save_data("C:/Users/80657/Documents/QT_PROJECT/pwd.txt", pwd);/*这里的代码被注释掉了,实际逻辑如下:如果勾选“记住密码”,则保存密码,否则清空密码文件if (ui->checkBox->isChecked()) {QString pwd = ui->lineEdit_2->text();save_data("C:/Users/80657/Documents/QT_PROJECT/pwd.txt", pwd);save_data("C:/Users/80657/Documents/QT_PROJECT/rememberPwd.txt", "true");} else {save_data("C:/Users/80657/Documents/QT_PROJECT/pwd.txt", ""); // 清空密码save_data("C:/Users/80657/Documents/QT_PROJECT/rememberPwd.txt", "false");}*/// 释放 UI 资源delete ui;
}// 保存数据到指定文件
void Widget::save_data(const QString& filename, const QString& data)
{file.setFileName(filename); // 设置文件路径file.open(QFile::WriteOnly); // 以写入模式打开文件file.write(data.toLocal8Bit()); // 写入数据file.close(); // 关闭文件
}// 从指定文件加载数据
QString Widget::load_data(const QString &filename)
{file.setFileName(filename); // 设置文件路径file.open(QFile::ReadOnly); // 以只读模式打开文件QByteArray arr = file.readAll(); // 读取所有数据QString str = QString::fromLocal8Bit(arr); // 转换为 QStringfile.close(); // 关闭文件return str; // 返回数据
}// 监听用户名输入框内容变化
void Widget::on_lineEdit_textChanged(const QString &arg1)
{QString name = ui->lineEdit->text(); // 获取用户名输入框内容QString pswd = ui->lineEdit_2->text(); // 获取密码输入框内容if (name.isEmpty() || pswd.isEmpty()) { // 如果用户名或密码为空ui->pushButton->setEnabled(0); // 禁用账号按钮ui->pushButton_2->setEnabled(0); // 禁用密码按钮} else { // 否则ui->pushButton->setEnabled(1); // 启用账号按钮ui->pushButton_2->setEnabled(1); // 启用密码按钮}
}// 监听密码输入框内容变化
void Widget::on_lineEdit_2_textChanged(const QString &arg1)
{QString name = ui->lineEdit->text(); // 获取用户名输入框内容QString pswd = ui->lineEdit_2->text(); // 获取密码输入框内容if (name.isEmpty() || pswd.isEmpty()) { // 如果用户名或密码为空ui->pushButton->setEnabled(0); // 禁用账号按钮ui->pushButton_2->setEnabled(0); // 禁用密码按钮} else { // 否则ui->pushButton->setEnabled(1); // 启用账号按钮ui->pushButton_2->setEnabled(1); // 启用密码按钮}
}// 按下“显示密码”按钮时,密码框显示明文
void Widget::on_pushButton_3_pressed()
{ui->lineEdit_2->setEchoMode(QLineEdit::Normal); // 设置密码框为明文显示
}// 释放“显示密码”按钮时,密码框恢复为密文
void Widget::on_pushButton_3_released()
{ui->lineEdit_2->setEchoMode(QLineEdit::Password); // 设置密码框为密文显示
}// 监听“记住密码”复选框状态变化
void Widget::on_checkBox_stateChanged(int state)
{if (state == Qt::Checked) { // 如果复选框被选中save_data("C:/Users/80657/Documents/QT_PROJECT/rememberPwd.txt", "true"); // 记录记住密码状态} else { // 如果复选框未选中save_data("C:/Users/80657/Documents/QT_PROJECT/rememberPwd.txt", "false"); // 记录不记住密码状态save_data("C:/Users/80657/Documents/QT_PROJECT/pwd.txt", ""); // 清空密码}
}void Widget::on_listWidget_itemDoubleClicked(QListWidgetItem *item)
{// 获取选中的账号(用户名)QString selectedAccount = item->text();// 在列表中删除选中的账号delete item;
}void Widget::on_pushButton_clicked()
{// 获取用户输入的用户名QString newUsername = ui->lineEdit->text();// 判断用户名是否为空if (newUsername.isEmpty()) {// 提示用户输入有效的用户名(可选)// QMessageBox::warning(this, "输入错误", "用户名不能为空!");return;}// 检查该用户名是否已经存在于列表中bool exists = false;for (int i = 0; i < ui->listWidget->count(); ++i) {if (ui->listWidget->item(i)->text() == newUsername) {exists = true; // 如果找到重复的账号,则标记为存在break;}}// 如果该账号不存在,则添加到列表中if (!exists) {ui->listWidget->addItem(newUsername); // 添加到列表} //else {// 如果账号已经存在,提示用户(可选)// QMessageBox::information(this, "重复账号", "该账号已存在,请选择其他用户名!");//}
}

 

widget.h头文件 

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QFile>
#include <QListWidget>
#include <QApplication>
#include <QDebug>
#include <QLabel>
#include <QLineEdit>
#include <QTextEdit>
#include <QPushButton>
#include <QWidget>  // 基础窗口类
#include <QVBoxLayout>
#include <QDesktopWidget>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();void save_data(const QString& filename,const QString& data);QString load_data(const QString& filename);private slots:void on_lineEdit_textChanged(const QString &arg1);void on_lineEdit_2_textChanged(const QString &arg1);void on_pushButton_3_pressed();void on_pushButton_3_released();void on_checkBox_stateChanged(int arg1);void on_listWidget_itemDoubleClicked(QListWidgetItem *item);void on_pushButton_clicked();private:Ui::Widget *ui;QFile file;
};
#endif // WIDGET_H
//main.cpp#include "widget.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}

login.pro 

QT       += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \widget.cppHEADERS += \widget.hFORMS += \widget.ui# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

题目2:  简易计算器设计 

 

 

http://www.dtcms.com/wzjs/472127.html

相关文章:

  • 做违法网站的后果网络营销产品推广方案
  • php p2p网站源码百度云app
  • 厦门网站建设公司排行榜网络推广外包想手机蛙软件
  • 邯郸网站设计报价北京百度推广官网首页
  • 站长推广工具西安网站seo服务
  • 网页微信版看聊天记录有记录吗seo网站内容优化有哪些
  • 什么好的主题做网站百度地图关键词排名优化
  • 小程序网站怎么做商丘seo
  • wordpress调用文章字数整站优化和单词
  • 什么网站可以在线做高中题目站长之家网站
  • 做网页设计的网站乐山网站seo
  • 做网站登录自媒体十大平台
  • 做体育设施工程公司的网站点金推广优化公司
  • 建设虚拟币交易网站seo的内容主要有哪些方面
  • 免费网站建设开发百度关键词推广
  • 网站建设的经济可行性分析个人网站建设
  • 娱乐网站建设ppt模板seo搜索引擎优化期末及答案
  • 大型购物网站建设费用软文广告属于什么营销
  • 德州市建设街小学网站首页余姚网站seo运营
  • 做环境设计的网站域名备案查询站长工具
  • 网站规划有什么意义成人职业技术培训学校
  • 网站建设项目报价清单建立免费个人网站
  • 商洛网站设计查看百度关键词价格
  • 滁州网站开发百度seo关键词怎么做
  • ueditor 文件大小超出网站限制seo教程seo优化
  • 怎么样才能搜索到自己做的网站百度指数网址是什么
  • 连云港专业网站制作公司重庆seo网络推广平台
  • 单页式网站系统全球搜索引擎网站
  • 找人建设网站如何推销网站
  • wordpress seo插件长沙百度快照优化排名