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

网站建设合同要不要交印花税汕头网站建设哪家好

网站建设合同要不要交印花税,汕头网站建设哪家好,网站建设如果登录失败,wordpress防爆破在C开发中,使用Qt框架可以快速构建美观且功能强大的GUI应用程序。本文将介绍如何设计一个漂亮的登录界面,包括账号和密码输入框,并确保只有验证成功后才能进入主窗口。 项目结构 文件列表 LoginDialog.h:登录对话框的头文件Logi…

在C++开发中,使用Qt框架可以快速构建美观且功能强大的GUI应用程序。本文将介绍如何设计一个漂亮的登录界面,包括账号和密码输入框,并确保只有验证成功后才能进入主窗口。

项目结构

文件列表

  • LoginDialog.h:登录对话框的头文件
  • LoginDialog.cpp:登录对话框的实现文件
  • main.cpp:主函数文件

实现步骤

1. 创建项目

使用Qt Creator创建一个新的Qt Widgets Application项目。

2. 设计登录对话框

LoginDialog.h
#ifndef LOGINDIALOG_H
#define LOGINDIALOG_H#include <QDialog>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QMessageBox>
#include <QCheckBox>
#include <QSettings>class LoginDialog : public QDialog {Q_OBJECTpublic:LoginDialog(QWidget* parent = nullptr);private slots:void onLoginClicked();private:QLineEdit* usernameEdit;QLineEdit* passwordEdit;QPushButton* loginButton;QCheckBox* rememberCheckBox;
};#endif // LOGINDIALOG_H
LoginDialog.cpp
#include "LoginDialog.h"
#include <QApplication>
#include <QStyleFactory>
#include <QFont>LoginDialog::LoginDialog(QWidget* parent): QDialog(parent)
{setWindowTitle("Login");setFixedSize(400, 300);setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);// 设置样式setStyleSheet("QDialog { background-color: #f5f5f5; }""QLabel { color: #333333; }""QLineEdit { padding: 8px; border: 1px solid #cccccc; border-radius: 4px; }""QPushButton { background-color: #4285f4; color: white; padding: 10px; border-radius: 4px; }""QPushButton:hover { background-color: #2a75f3; }""QCheckBox { color: #333333; }");// 标题QLabel* titleLabel = new QLabel("Welcome to the System", this);titleLabel->setStyleSheet("font-size: 24px; color: #1a73e8; font-weight: bold;");titleLabel->setAlignment(Qt::AlignCenter);// 账号输入框QLabel* usernameLabel = new QLabel("Username:", this);usernameEdit = new QLineEdit(this);usernameEdit->setPlaceholderText("Enter your username");usernameEdit->setFocus();// 密码输入框QLabel* passwordLabel = new QLabel("Password:", this);passwordEdit = new QLineEdit(this);passwordEdit->setPlaceholderText("Enter your password");passwordEdit->setEchoMode(QLineEdit::Password);// 记住密码复选框rememberCheckBox = new QCheckBox("Remember Password", this);// 登录按钮loginButton = new QPushButton("Login", this);loginButton->setFixedSize(120, 40);connect(loginButton, &QPushButton::clicked, this, &LoginDialog::onLoginClicked);// 布局QVBoxLayout* mainLayout = new QVBoxLayout(this);mainLayout->addWidget(titleLabel);mainLayout->addSpacing(20);QHBoxLayout* usernameLayout = new QHBoxLayout();usernameLayout->addWidget(usernameLabel);usernameLayout->addWidget(usernameEdit);mainLayout->addLayout(usernameLayout);QHBoxLayout* passwordLayout = new QHBoxLayout();passwordLayout->addWidget(passwordLabel);passwordLayout->addWidget(passwordEdit);mainLayout->addLayout(passwordLayout);QHBoxLayout* rememberLayout = new QHBoxLayout();rememberLayout->addStretch();rememberLayout->addWidget(rememberCheckBox);mainLayout->addLayout(rememberLayout);mainLayout->addSpacing(20);QHBoxLayout* buttonLayout = new QHBoxLayout();buttonLayout->addStretch();buttonLayout->addWidget(loginButton);mainLayout->addLayout(buttonLayout);mainLayout->addStretch();// 读取记住的用户名和密码QSettings settings("MyCompany", "MyApp");if (settings.contains("user")) {usernameEdit->setText(settings.value("user").toString());passwordEdit->setText(settings.value("pass").toString());rememberCheckBox->setChecked(true);}
}void LoginDialog::onLoginClicked()
{QString username = usernameEdit->text().trimmed();QString password = passwordEdit->text();if (username.isEmpty() || password.isEmpty()) {QMessageBox::warning(this, "Warning", "Username and password cannot be empty");return;}// 这里可以添加你的验证逻辑// 例如连接数据库或验证用户名密码if (username == "admin" && password == "123456") {// 验证成功// 保存记住密码的设置QSettings settings("MyCompany", "MyApp");if (rememberCheckBox->isChecked()) {settings.setValue("user", username);settings.setValue("pass", password);} else {settings.remove("user");settings.remove("pass");}accept(); // 关闭对话框并返回接受状态} else {// 验证失败QMessageBox::warning(this, "Error", "Incorrect username or password");passwordEdit->clear();passwordEdit->setFocus();}
}

3. 修改主函数

main.cpp
#include "MainWindow.h"
#include "LoginDialog.h"
#include <QApplication>
#include <QStyleFactory>int main(int argc, char* argv[])
{QApplication app(argc, argv);// 设置应用样式app.setStyle("Fusion");// 显示登录对话框LoginDialog loginDialog;if (loginDialog.exec() == QDialog::Accepted) {// 登录成功,显示主窗口MainWindow mainWindow;mainWindow.show();return app.exec();} else {// 登录取消或失败,退出应用return 0;}
}

常见问题及解决方法

1. QStyleFactorycreate 未定义

  • 包含正确的头文件
    #include <QStyleFactory>
    
  • 检查Qt版本
    确保你的Qt版本支持 QStyleFactory::create。如果版本较低,可以使用以下代码设置样式:
    app.setStyle("Fusion");
    

2. 编码问题 (C4819 警告)

  • 将文件保存为UTF-8编码
    在Visual Studio中,打开文件,点击“文件”->“高级保存选项”,选择“UTF-8”编码,然后保存文件。

3. 类型转换问题 (C4267 警告)

  • 显式类型转换
    在相关代码中使用 static_cast 进行显式类型转换:
    Standard_Integer value = static_cast<Standard_Integer>(someSizeTVariable);
    

总结

通过上述步骤,你可以设计一个美观且功能完善的登录界面。该界面支持记住密码功能,并且只有验证成功后才能进入主窗口。根据需要,你可以进一步定制界面样式和验证逻辑,以满足具体的应用需求。

http://www.dtcms.com/a/579884.html

相关文章:

  • 适合设计师的网站h5制作公司
  • 做网站的软件淘汰史百度关键词排名
  • 城建档案网站建设 博客美橙互联网站
  • 网站改版的步骤网站开发的小结
  • 专门找图片素材的网站域名出售平台
  • 足彩推荐网站开发成都网站建设 小兵cms
  • 百家号网站开发属于什么领域一学一做看视频网站有哪些内容
  • 网站页面优化方法wordpress文章背景
  • cn后缀做网站俱乐部网站 模板
  • 庆阳网站设计价格编写网站 语言
  • 重庆网站设计中心网络营销比较好的企业
  • 旅游网站开发参考文献肇庆住房建设部网站
  • 绍兴建设银行网站首页企业查询系统官网
  • 怀柔做网站的吗深圳市住房和建设局网站-%3e认租申请
  • 自己怎么做卖服装的网站经典软文范例大全
  • 怎样免费做自己的网站wordpress 足迹地图
  • app与网站的区别是什么网站开发项目私活
  • 成都模板网站建设手机图标 wordpress
  • 无锡网站制作哪家服务好广元企业网站建设
  • 网站外链建设可以提升网站权重对吗梅州网站开发
  • 阳泉网站设计学校网站怎么查询录取
  • 网站设计就业怎么样缔造自助建站
  • 提供网站建设工具辽宁省建设工程人力资源网
  • 佛山网站建设3lue大学生个人网站制作
  • 广东网站建设模板如何做百度站长绑定网站
  • 古网站典模板未来做那些网站致富
  • 长沙中小企业网站建设vs2012 做网站教程
  • 西安网站制作的公司宠物店做网站的论文
  • 网站建设合同书(范本)wordpress 过滤钩子
  • 大型网站开发的主流语言智慧团建网站登录平台官网