12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #include "LoginWidget.h"
- #include <Widgets/LineEdit.h>
- #include <Widgets/CheckBox.h>
- #include <Widgets/Button.h>
- #include <QBoxLayout>
- #include <QLabel>
- LoginWidget::LoginWidget(QWidget *parent) : QWidget(parent)
- {
- initialize();
- initLayout();
- connectSignalsAndSlots();
- }
- void LoginWidget::setTitle(const QString title)
- {
- m_titleLabel->setText(title);
- }
- const QString LoginWidget::account() const
- {
- return m_accLineEdit->text();
- }
- const QString LoginWidget::password() const
- {
- return m_pwLineEdit->text();
- }
- void LoginWidget::initialize()
- {
- m_vBoxLayout = new QVBoxLayout(this);
- m_titleLabel = new QLabel(this);
- m_titleLabel->setStyleSheet("color:#ffffff;");
- QFont ft;
- ft.setPointSize(15);
- ft.setBold(true);
- m_titleLabel->setFont(ft);
- m_accLineEdit = new LineEdit(this);
- m_accLineEdit->setIsClearButtonEnabled(true);
- m_accLineEdit->setPlaceholderText("请输入账号");
- m_accLineEdit->setFixedWidth(250);
- m_pwLineEdit = new PasswordLineEdit(this);
- m_pwLineEdit->setPlaceholderText("请输入密码");
- m_pwLineEdit->setFixedWidth(250);
- m_remLayout = new QHBoxLayout();
- m_remCheckBox = new CheckBox("记住密码", this);
- const QString &s = m_remCheckBox->styleSheet() + "CheckBox {color:white}";
- m_remCheckBox->setStyleSheet(s);
- m_buttonLayout = new QHBoxLayout();
- m_loginButton = new PushButton("登录", this);
- m_cancelButton = new PushButton("取消", this);
- }
- void LoginWidget::initLayout()
- {
- setLayout(m_vBoxLayout);
- m_vBoxLayout->setAlignment(Qt::AlignCenter);
- m_vBoxLayout->addWidget(m_titleLabel);
- m_vBoxLayout->addSpacing(20);
- m_vBoxLayout->addWidget(m_accLineEdit);
- m_vBoxLayout->addSpacing(20);
- m_vBoxLayout->addWidget(m_pwLineEdit);
- m_vBoxLayout->addSpacing(20);
- m_vBoxLayout->addLayout(m_remLayout);
- m_remLayout->addWidget(m_remCheckBox);
- m_remLayout->addSpacing(30);
- m_vBoxLayout->addSpacing(40);
- m_vBoxLayout->addLayout(m_buttonLayout);
- m_buttonLayout->addWidget(m_loginButton);
- m_buttonLayout->addSpacing(20);
- m_buttonLayout->addWidget(m_cancelButton);
- }
- void LoginWidget::connectSignalsAndSlots()
- {
- connect(m_loginButton, &PushButton::clicked, this, &LoginWidget::signalLogin);
- connect(m_cancelButton, &PushButton::clicked, this, &LoginWidget::signalCancel);
- }
|