7.25,使用Qt图形化界面实现登陆界面框(手写)

1、head.h

#ifndef WIDGET_H
#define WIDGET_H

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

class Widget : public QWidget
{
    Q_OBJECT
    QLabel *lab1;
    QLabel *lab2;
    QLabel *lab3;
    QLabel *lab4;
    QLabel *lab5;

    QLineEdit *nameedit1     = new QLineEdit;
    QLineEdit *passwdedit2   = new QLineEdit;
    QPushButton *btn1 = new QPushButton;
    QPushButton *btn2 = new QPushButton;


public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
};
#endif // WIDGET_H

 2、main.cpp

#include "widget.h"

#include 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

3、widget.cpp

#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    qDebug()<size();     //求出当前界面大小
    this->setFixedSize(430,300);  //固定尺寸为430,300

    //2、设置窗口标题
    this->setWindowTitle("华清远见");
    qDebug()<windowTitle();    //获取窗口标题

    //3、设置窗口图标
    this->setWindowIcon(QIcon("D:\\桌面\\icon\\logo.png"));

    //4、设置一个Qtabel标签,内容为图片
    lab1 = new QLabel(this);
    lab1->resize(430,100);
    lab1->move(0,0);
    lab1->setPixmap(QPixmap("D:\\桌面\\icon\\background"));
    lab1->setScaledContents(true);

    //5、行编辑器类
    //name
    nameedit1 = new QLineEdit(this);
    nameedit1->resize(220,30);
    nameedit1->move(125,130);
    nameedit1->setPlaceholderText("qq号码/手机号码/邮箱");
    nameedit1->setStyleSheet("border:none;"
                             "border-bottom : 2px solid blue;");
    //password
    passwdedit2= new QLineEdit(this);
    passwdedit2->resize(220,30);
    passwdedit2->move(125,180);
    passwdedit2->setPlaceholderText("密码");
    passwdedit2->setEchoMode(QLineEdit::Password);
    passwdedit2->setStyleSheet("border:none;"
                               "border-bottom : 2px solid blue;");

    //6、设置两个标签,用来展示账户和密码

    lab2 = new QLabel(this);
    lab2->resize(25,25);
    lab2->move(100,130);
    lab2->setPixmap(QPixmap("D:\\桌面\\icon\\userName.jpg"));
    lab2->setAlignment(Qt::AlignCenter);
    lab2->setScaledContents(true);
    //第二个标签password
    lab3 = new QLabel(this);
    lab3->resize(25,25);
    lab3->move(100,180);
    lab3->setPixmap(QPixmap("D:\\桌面\\icon\\passwd.jpg"));
    lab3->setAlignment(Qt::AlignCenter);
    lab3->setScaledContents(true);

    //7、设置两个按钮button来存放登录与取消界面
    btn1 = new QPushButton(this);
    btn1->setText("  登录");
    btn1->resize(70,35);
    btn1->move(260,250);

    lab4 = new QLabel(this);
    lab4->resize(25,35);
    lab4->move(260,250);
    lab4->setPixmap(QPixmap("D:\\桌面\\icon\\denglu.png"));
    lab4->setScaledContents(true);

    //cancel
    btn2 = new QPushButton(this);
    btn2->setText("  取消");
    btn2->resize(70,35);
    btn2->move(350,250);

    lab5 = new QLabel(this);
    lab5->resize(25,35);
    lab5->move(350,250);
    lab5->setPixmap(QPixmap("D:\\桌面\\icon\\cancel.png"));
    lab5->setScaledContents(true);
}

Widget::~Widget()
{
}

 4、运行结果

7.25,使用Qt图形化界面实现登陆界面框(手写)_第1张图片

 

 5、程序不足之处

1、指针移到输入处时,占位符未消失,后续会通过信号和槽来解决。

2、不能实现和qq一样,行编辑包含Qtabel,只能将其两个图标分开,有待提升。

3、代码命名未能见名知意。

你可能感兴趣的:(qt,数据库)