QT 设计腾讯会议登录界面

1:实现效果:

存在不足:微信登录的按钮长宽是493 x 50, 而图片的长宽是400 x 50,倒置图片没能居中显示。

整体UI布局,采用垂直布局

部分实现代码:

#include "tencentmettinglogin.h"
#include "ui_tencentmettinglogin.h"

tencentMettingLogin::tencentMettingLogin(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::tencentMettingLogin)
{
    ui->setupUi(this);
    this->setWindowFlags(Qt::FramelessWindowHint|Qt::WindowMinMaxButtonsHint);
    ui->btnSet->setText("");
    ui->btnSet->setStyleSheet("QPushButton{background-image:url(:/ch21_TencentMeetingLogin/resources/set.png);border:none}  \
           QPushButton::hover{background-color:rgb(99,99,99)}");

       ui->btnMin->setText("");
       ui->btnMin->setStyleSheet("QPushButton{background-image:url(:/ch21_TencentMeetingLogin/resources/min.png);border:none}  \
           QPushButton::hover{background-color:rgb(99,99,99)}");

       ui->btnClose->setText("");
       ui->btnClose->setStyleSheet("QPushButton{background-image:url(:/ch21_TencentMeetingLogin/resources/close.png);border:none}  \
           QPushButton::hover{background-color:rgb(99,99,99)}");

       ui->label_logo->clear();
       QPixmap* pix = new QPixmap(":/ch21_TencentMeetingLogin/resources/logo.jpg");
       pix->scaled(ui->label_logo->size(), Qt::KeepAspectRatio);
       ui->label_logo->setScaledContents(true);
       ui->label_logo->setPixmap(*pix);

       ui->btnWeichatLogin->setText("");
       ui->btnWeichatLogin->setStyleSheet("QPushButton{background-image:url(:/ch21_TencentMeetingLogin/resources/weichatlogin.png);border:none}  \
           QPushButton::hover{background-color:rgb(99,99,99)}");

       ui->toolBtnPhone->setIcon(QIcon(":/ch21_TencentMeetingLogin/resources/phonelogin.png"));
       ui->toolBtnPhone->setIconSize(QSize(60, 60));
       ui->toolBtnPhone->setText(u8"手机号");
       ui->toolBtnPhone->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
       ui->toolBtnPhone->setStyleSheet("background-color:white;border:none");

       ui->toolBtnEnpriseWeichat->setIcon(QIcon(":/ch21_TencentMeetingLogin/resources/enpriseweichat.png"));
       ui->toolBtnEnpriseWeichat->setIconSize(QSize(60, 60));
       ui->toolBtnEnpriseWeichat->setText(u8"企业微信");
       ui->toolBtnEnpriseWeichat->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
       ui->toolBtnEnpriseWeichat->setStyleSheet("background-color:white;border:none");

       ui->toolBtnSSO->setIcon(QIcon(":/ch21_TencentMeetingLogin/resources/sso.png"));
       ui->toolBtnSSO->setIconSize(QSize(60, 60));
       ui->toolBtnSSO->setText(u8"SSO");
       ui->toolBtnSSO->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
       ui->toolBtnSSO->setStyleSheet("background-color:white;border:none");

       connect(ui->btnClose, &QPushButton::clicked, [=] {
           close();
           });

}

tencentMettingLogin::~tencentMettingLogin()
{
    delete ui;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Qt设计登陆界面验证,可以按照以下步骤进行: 1. 创建登录窗口。使用Qt Designer创建一个登录窗口,包含用户名输入框、密码输入框、登录按钮和取消按钮。 2. 创建用户验证函数。创建一个函数,用于验证用户名和密码是否正确。可以将用户名和密码存储在一个文件或数据库中,然后在函数中查询并验证。 例如: ``` bool validateUser(QString username, QString password) { // 查询数据库或文件中的用户名和密码 // 如果存在匹配的用户名和密码,则返回true,否则返回false } ``` 3. 连接登录按钮。将登录按钮的clicked信号连接到一个槽函数,用于验证用户名和密码。 例如: ``` connect(ui->loginButton, SIGNAL(clicked()), this, SLOT(onLoginButtonClicked())); ``` 4. 实现登录验证。在onLoginButtonClicked()槽函数中,获取用户名和密码输入框的文本,然后调用validateUser()函数进行验证。 例如: ``` void onLoginButtonClicked() { QString username = ui->usernameEdit->text(); QString password = ui->passwordEdit->text(); if(validateUser(username, password)) { // 登录成功,关闭登录窗口 accept(); } else { // 登录失败,提示错误信息 QMessageBox::warning(this, "登录失败", "用户名或密码错误!"); } } ``` 5. 显示登录窗口。在主窗口中,创建登录窗口对象,然后调用exec()函数显示窗口。 例如: ``` LoginWindow loginWindow; if(loginWindow.exec() == QDialog::Accepted) { // 登录成功,执行相应操作 } ``` 以上就是在Qt设计登录界面验证的基本步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水火汪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值