#include "logindlg.h"
#include "ui_logindlg.h"
#include <QLineEdit>
#include <QPushButton>
#include <QLabel>
#include <QFormLayout>
#include <QGridLayout>
#include <QMessageBox>
#include <QRegExpValidator>
#include <QEvent>
#include <QKeyEvent>
#include <QMovie>
#include <QComboBox>
#include <QFile>
LoginDlg::LoginDlg(QWidget *parent) :
QWidget(parent),
ui(new Ui::LoginDlg)
{
ui->setupUi(this);
QFile file(":/my.qss");
file.open(QFile::ReadOnly);
setStyleSheet(file.readAll());
initWindow();
}
LoginDlg::~LoginDlg()
{
delete ui;
}
void LoginDlg::initWindow()
{
// this->setFixedSize(380, 292);
this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::SubWindow);
//背景GIG图;
QLabel* pBack = new QLabel(this);
QMovie *movie = new QMovie();
movie->setFileName(":/images/back.gif");
pBack->setMovie(movie);
movie->start();
pBack->move(0, 0);
ui->pButtonArrow->raise();
ui->pButtonMin->raise();
ui->pButtonClose->raise();
//暗注释;
ui->accountComboBox->setEditable(true);
QLineEdit* lineEdit = ui->accountComboBox->lineEdit();
lineEdit->setPlaceholderText(tr("QQnumber/mobile/mailbox"));
ui->passwordEdit->setPlaceholderText(tr("password"));
// 密码框中的小键盘按钮;
m_keyboardButton = new QPushButton();
m_keyboardButton->setObjectName("pButtonKeyboard");
m_keyboardButton->setFixedSize(QSize(16, 16));
m_keyboardButton->setCursor(QCursor(Qt::PointingHandCursor));
QHBoxLayout* passwordEditLayout = new QHBoxLayout();
passwordEditLayout->addStretch();
passwordEditLayout->addWidget(m_keyboardButton);
passwordEditLayout->setSpacing(0);
passwordEditLayout->setContentsMargins(0, 0, 8, 0);
ui->passwordEdit->setLayout(passwordEditLayout);
ui->passwordEdit->setTextMargins(0, 0, m_keyboardButton->width() + 12, 0);
ui->userHead->setPixmap(QPixmap(":/images/HeadImage.png"));
ui->loginState->setIcon(QIcon(":/images/state_online.png"));
ui->loginState->setIconSize(QSize(13, 13));
ui->loginState->raise();
}
void LoginDlg::mousePressEvent(QMouseEvent *event)
{
mousePoint = event->pos(); //鼠标相对于窗体的位置
isMousePressed = true; //鼠标按下
event->accept();
}
void LoginDlg::mouseMoveEvent(QMouseEvent *event)
{
//若鼠标左键被按下
if(isMousePressed == true)
{
//鼠标相对于屏幕的位置
QPoint curMousePoint = event->globalPos() - mousePoint;
//移动主窗体位置
move(curMousePoint);
}
event->accept();
}
void LoginDlg::mouseReleaseEvent(QMouseEvent *event)
{
//鼠标未按下
isMousePressed = false;
event->accept();
}