关于QT实现窗口登录界面的设计

运行窗口: 

 

qt样式表代码 :

*{

	background-color: rgb(255, 255, 255);
}

QFrame#frame{
	border-radius:30px;
	border-image: url(:/Logo/wallhaven-85gjw1.png);
}

#frame_2{
	border-radius:30px;
	background-color: rgba(100, 100, 100, 70);
}

QLabel#label{
		border-radius:30px;

	background-color: rgba(77, 77, 77, 160);
}

#Logging_label_2{
	
	background:transparent;/*完全透明*/
	font: 25 25pt "等线 Light";	
color: rgba(255, 255, 255, 120);

}

QLineEdit{
	background:transparent;/*完全透明*/

	border:none;

	border-bottom:1px solid 	rgba(255, 255, 255, 120);
	
	font: 25 16pt "等线 Light";
	color: rgba(255, 255, 255, 120);
}

QPushButton{
	color: rgba(255, 255, 255, 120);

	font: 25 26pt "等线 Light";
	background:transparent;/*完全透明*/
	border-left:1px solid 	rgba(255, 255, 255, 120);
	/*background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(82, 26, 0, 255), stop:1 rgba(255, 255, 255, 0));*/

	border-radius:5px;

}
QPushButton#pushButton_3{
	color: rgba(255, 255, 255, 120);

	font: 25 26pt "等线 Light";
	background:transparent;/*完全透明*/

	border-left:1px solid 	rgba(255, 255, 255, 0);

	/*background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(82, 26, 0, 255), stop:1 rgba(255, 255, 255, 0));*/

	border-radius:5px;

}

QPushButton#pushButton_4{
	color: rgba(255, 255, 255, 120);

	font: 25 26pt "等线 Light";
	background:transparent;/*完全透明*/

	border-left:1px solid 	rgba(255, 255, 255, 0);

	/*background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(82, 26, 0, 255), stop:1 rgba(255, 255, 255, 0));*/

	border-radius:5px;

}

QPushButton:hover{         /* 鼠标移动*/
	color: rgba(255, 255, 255, 120);

	font: 25 26pt "等线 Light";
	border-bottom:1px solid 	rgba(255, 255, 255, 120);
	/*background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(70, 26, 0, 255), stop:1 rgba(255, 255, 255, 0));*/

	border-radius:5px;

}

QPushButton:pressed{         /* 鼠标按下*/
	color: rgba(255, 255, 255, 120);

	font: 25 26pt "等线 Light";
	border-:1px solid 	rgba(255, 255, 255, 120);
	/*background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(82, 26, 0, 255), stop:1 rgba(255, 255, 255, 0));*/

	border-radius:5px;

	padding-top:5px;
	padding-left:5px;

}

 qt源文件代码:

第一个widget:

​
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //去除头部
    this->setWindowFlag(Qt::FramelessWindowHint);

    //去除空白部分
    this->setAttribute(Qt::WA_TranslucentBackground);

    ui->Username_lineEdit->setClearButtonEnabled(1);//全部删除键
    ui->Password_lineEdit_2->setClearButtonEnabled(1);
}

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


void Widget::on_pushButton_2_clicked()
{
    this->close();
}

void Widget::on_pushButton_clicked()
{
    if(ui->Username_lineEdit->text()=="路明非"&&ui->Password_lineEdit_2->text()=="sakura"){
        QMessageBox::information(NULL, "Title", "login success!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);//登录成功弹窗
    }else{
        QMessageBox::information(NULL, "Title", "login failed.\n""Pleasa input username/passward again.", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);//登录失败弹窗
    }
}

​

第二个widget:

#include "second_widget.h"
#include "ui_second_widget.h"

second_widget::second_widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::second_widget)
{
    ui->setupUi(this);
    this->setWindowFlag(Qt::FramelessWindowHint);
    this->setAttribute(Qt::WA_TranslucentBackground);

}

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

void second_widget::jump_slot(){
    this->show();
}

 主函数代码:

#include "widget.h"
#include "second_widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    second_widget w2;
    QObject::connect(&w,&Widget::jump_signal,&w2,&second_widget::jump_slot);

    return a.exec();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值