QT day2

mainwindow.h

cpp 复制代码
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDebug>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
signals:
    void my_signal();
public slots:
    void my_slot();//自定义一个槽函数
    void loginbtn_slot();

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

mainwindow.cpp

cpp 复制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //窗口的相关设置
    this->setWindowTitle("QQ");
    this->setWindowIcon(QIcon(":/pictrue/qq.png"));

    //标签的相关设置
    ui->logolabel->setPixmap(QPixmap(":/pictrue/logo.png"));
    ui->logolabel->setScaledContents(true);

    //账号和密码
    ui->usernamelabel->resize(35,35);
    ui->usernamelabel->setPixmap(QPixmap(":/pictrue/userName.jpg"));
    ui->usernamelabel->setScaledContents(true);

    ui->passwordlabel->resize(35,35);
    ui->passwordlabel->setPixmap(QPixmap(":/pictrue/passwd.jpg"));
    ui->passwordlabel->setScaledContents(true);

    ui->usernamelineEdit->setPlaceholderText("QQ账号/手机号码/邮箱");
   // ui->usernamelineEdit->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
   // ui->usernamelineEdit->adjustSize();
    ui->passwordlineEdit->setEchoMode(QLineEdit::Password);

    //登录按钮和取消登录按钮
    ui->loginbtn->setIcon(QIcon(":/pictrue/login.png"));
    ui->cancelbtn->setIcon(QIcon(":/pictrue/cancel.png"));

    //手动连接信号和槽函数,基于qt4版本 是不友好的连接
    connect(ui->cancelbtn,SIGNAL(clicked()),this,SLOT(my_slot()));

    //qt5版本 判断账号是否为admin,密码是否为123456
    connect(ui->loginbtn,&QPushButton::clicked,this,&MainWindow::loginbtn_slot);


}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::my_slot()
{
    this->close();
}

void MainWindow::loginbtn_slot()
{
    if(ui->usernamelineEdit->text()=="admin" && ui->passwordlineEdit->text()=="123456")
    {
        qDebug() << "登录成功";
    }
    else
    {
        qDebug() << "登录失败";
        ui->usernamelineEdit->setText("");
        ui->passwordlineEdit->setText("");
        this->close();
    }

}
相关推荐
地下核武1 小时前
Ubuntu 24.04 在线安装 Qt 6.10.2 后 Qt Creator 无法启动问题记录与解决
linux·qt·ubuntu
史蒂芬_丁2 小时前
Qt, C++数据类型扩展问题
数据库·c++·qt
没用的阿_吉3 小时前
windows10 Qt5.15.14 msvc2019 编译部署
开发语言·qt
code_计梦星河5 小时前
Qt 开发第十五天:规划模块树形视图开发与跨端数据传输
qt
不知名。。。。。。。。7 小时前
Qt常用控件
开发语言·qt
深蓝海拓7 小时前
基于QtPy (PySide6) 的PLC-HMI工程项目(二)系统规划
笔记·python·qt·学习·plc
二DUAN帝7 小时前
态势仿真推演系统 AFSIM+UE 架构选型
qt·ue5·afsim
牵牛老人9 小时前
【QML 界面开发实战之:模块化、多QML文件调用与跨语言交互】
qt
mldlds9 小时前
使用 Qt 插件和 SQLCipher 实现 SQLite 数据库加密与解密
数据库·qt·sqlite
jf加菲猫13 小时前
第10章 数据处理
xml·开发语言·数据库·c++·qt·ui