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();
    }

}
相关推荐
skr爱码士12 小时前
15_国际化和本地化:tr()、ts 文件、QM 文件、多语言切换
c++·qt·ui·客户端
Quz13 小时前
QML 拖拽篇:看板拖拽与数字拼图
qt
长友cy14 小时前
Qt官方示例Application源码阅读
开发语言·qt
程与留1 天前
15_国际化和本地化:tr()、ts 文件、QM 文件、多语言切换
c++·qt
程与留1 天前
14_Qt 样式表(QSS)入门(语法、选择器、美化实战)
c++·qt
Quz2 天前
QML 拖拽篇:接收拖拽与数据交换
qt
张人玉2 天前
基于 Python 机器学习 与 PyQt5 桌面框架开发的可视化分析系统——基于大数据的网上购物消费行为分析可视化大屏
python·qt·机器学习·echarts·three.js
「QT(C++)开发工程师」2 天前
C++11 std::unique_ptr — 独占所有权的智能指针
c语言·开发语言·c++·qt
小镇敲码人2 天前
【深入浅出】之Qt 事件系统实战:鼠标、键盘、滚轮、窗口与定时器事件
数据库·qt·网络协议·mysql·http
小小龙学IT2 天前
Qt 数据库编程(Qt SQL 模块)深度解析
数据库·sql·qt