写一个登录界面(大小800*600),上面可以输入用户名和密码,输入完成后点击登录按钮。校验用户名是否为abc,密码是否为123。成功则弹出另一个窗体(大小300*700),并隐藏(或关闭)登录窗体。失败qDebug打印登录失败。
时间: 2024-02-25 09:56:16 浏览: 18
好的,我可以帮你写一个基于Qt框架的登录界面,代码如下:
```cpp
#include <QApplication>
#include <QWidget>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QMessageBox>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建登录界面
QWidget loginWidget;
loginWidget.setWindowTitle("登录");
loginWidget.resize(800, 600);
// 创建用户名和密码输入框
QLabel usernameLabel("用户名:", &loginWidget);
usernameLabel.move(100, 200);
QLineEdit usernameEdit(&loginWidget);
usernameEdit.move(200, 200);
QLabel passwordLabel("密码:", &loginWidget);
passwordLabel.move(100, 300);
QLineEdit passwordEdit(&loginWidget);
passwordEdit.move(200, 300);
passwordEdit.setEchoMode(QLineEdit::Password); // 设置密码框的显示模式为密码模式
// 创建登录按钮
QPushButton loginBtn("登录", &loginWidget);
loginBtn.move(350, 400);
// 处理登录按钮的点击事件
QObject::connect(&loginBtn, &QPushButton::clicked, [&]() {
QString username = usernameEdit.text();
QString password = passwordEdit.text();
if (username == "abc" && password == "123") {
// 登录成功,打开另一个窗口
QWidget *mainWidget = new QWidget;
mainWidget->setWindowTitle("欢迎");
mainWidget->resize(300, 700);
mainWidget->show();
loginWidget.hide();
} else {
// 登录失败,弹出提示框
QMessageBox::warning(&loginWidget, "登录失败", "用户名或密码错误!");
qDebug() << "登录失败";
}
});
// 显示登录界面
loginWidget.show();
return a.exec();
}
```
上面的代码使用了Qt的信号槽机制来处理登录按钮的点击事件,实现了登录校验和界面跳转的功能。请注意,为了保证密码的安全性,我们将密码框的显示模式设置为密码模式。
如果有任何疑问,欢迎随时提出。