EXLoginWidget.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #ifndef EXLOGINWIDGET_H
  2. #define EXLOGINWIDGET_H
  3. #include <QWidget>
  4. class LineEdit;
  5. class PasswordLineEdit;
  6. class CheckBox;
  7. class PushButton;
  8. class QVBoxLayout;
  9. class QLabel;
  10. class QHBoxLayout;
  11. class EXLoginWidget : public QWidget
  12. {
  13. Q_OBJECT
  14. public:
  15. explicit EXLoginWidget(QWidget *parent = nullptr);
  16. void paintEvent(QPaintEvent *event) override;
  17. void setTitle(const QString title);
  18. const QString account() const;
  19. const QString password() const;
  20. bool rememberPassword() const;
  21. void saveAccountConfig() const;
  22. private:
  23. void initialize();
  24. void initLayout();
  25. void connectSignalsAndSlots();
  26. void loadAccount();
  27. signals:
  28. void signalLogin();
  29. void signalCancel();
  30. private slots:
  31. void slotLogin();
  32. void slotCancelLogin();
  33. private:
  34. QVBoxLayout *m_vBoxLayout = nullptr;
  35. QLabel *m_titleLabel = nullptr;
  36. LineEdit *m_accLineEdit = nullptr;
  37. PasswordLineEdit *m_pwLineEdit = nullptr;
  38. QHBoxLayout *m_remLayout = nullptr;
  39. CheckBox *m_remCheckBox = nullptr;
  40. QHBoxLayout *m_buttonLayout = nullptr;
  41. PushButton *m_loginButton = nullptr;
  42. PushButton *m_cancelButton = nullptr;
  43. QLabel *m_adminTips = nullptr;
  44. };
  45. #endif // EXLOGINWIDGET_H