QT登录界面设计及跳转主界面

QT登录界面设计及跳转主界面

界面样式

先贴图
在这里插入图片描述

创建流程

首先创建界面:
在这里插入图片描述
选择无按钮界面
在这里插入图片描述

界面设计

所需控件

添加容器,并设置合适大小
在这里插入图片描述
添加label标签
添加lineEdit控件作为用户名和密码输入框
添加button控件作为登录和取消按钮
全部标签如下
在这里插入图片描述

界面外观设计

添加底色

对主窗体添加底色
选中主窗体,在属性中找到styleSheet属性,对主窗体格式进行设置
这里一定要注意添加主体。对哪个组件的哪个属性进行设计。
#login 对login组件进行设计
{ } 包含组件的属性
background-color 设计对象为背景色
:背景色取值
rgb(42,216,25) 背景色值
;背景色设置结束
在这里插入图片描述
在这里插入图片描述

设置密码输入框以密文显示:

密码密码,当然不能直接显示了。
选中密码输入控件,设置echoMode属性
将其设置为Password属性。这样我们输入数据时,就会以密文形式显示了。
在这里插入图片描述
至此登录界面界面设计完成。添加背景图片或渐变色方法一样。

程序设计

取消按钮

首先我们转到槽函数clicked()
然后添加退出函数

void login::on_exitloginButton_clicked()
{
    this->close();
}

编译运行看一看
在这里插入图片描述
此时运行出来发现我们的界面竟然有最小化、最大化等按钮,这也太丑了吧
那么决定了,取消这个标题栏。
取消标题栏需要调用setWindowFlags函数
调用方式如下:

this->setWindowFlags(Qt::FramelessWindowHint);

编译再运行一下
在这里插入图片描述
此时一切如我所愿,界面初步显示无问题了。

登录按钮

接下来我们需要让用户名和密码输入均正确时,点击登录按钮时,跳转到主界面,同时关闭登录页。
同样跳转到登录click槽函数。
槽函数实现原理如下:

void login::on_loginButton_clicked()
{
    MAINWindow *s = new ;

    if(ui->userNameInput->text() == "user" && ui->passwordInput->text() == "12345")
    {
        s->show();
        this->close();
    }
    else
    {
        QMessageBox::about(NULL,"","用户名或密码错误");
        s->deleteLater();
    }
}

基本原理如此,更多丰富功能,按示例开发即可。

注:

这里我们直接在登录页创建主界面显示,这样最简单,不需要去发射信号出发登录。

  • 10
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Qt中,可以通过使用QStackedWidget来实现从登录界面跳转界面。QStackedWidget是一个容器小部件,可以在其中添加多个子部件,只有当前显示的子部件会被用户看到。 具体实现方法如下: 1. 创建QStackedWidget对象。 ```cpp QStackedWidget *stackedWidget = new QStackedWidget(); ``` 2. 创建登录界面界面的QWidget对象,并将它们添加到QStackedWidget中。 ```cpp QWidget *loginWidget = new QWidget(); QWidget *mainWidget = new QWidget(); stackedWidget->addWidget(loginWidget); stackedWidget->addWidget(mainWidget); ``` 3. 在登录界面中,添加按钮并在槽函数中调用QStackedWidget的setCurrentWidget()方法,将当前显示的子部件设置为界面。 ```cpp QPushButton *loginButton = new QPushButton("Login"); connect(loginButton, &QPushButton::clicked, [=](){ stackedWidget->setCurrentWidget(mainWidget); }); ``` 4. 在界面中,添加按钮并在槽函数中调用QStackedWidget的setCurrentWidget()方法,将当前显示的子部件设置为登录界面。 ```cpp QPushButton *logoutButton = new QPushButton("Logout"); connect(logoutButton, &QPushButton::clicked, [=](){ stackedWidget->setCurrentWidget(loginWidget); }); ``` 5. 将QStackedWidget对象设置为窗口的中心部件。 ```cpp QMainWindow *mainWindow = new QMainWindow(); mainWindow->setCentralWidget(stackedWidget); ``` 这样就可以实现从登录界面跳转界面,以及从界面返回到登录界面的功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值