DialogSoftKeyboardNumber.cpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #include "DialogSoftKeyboardNumber.h"
  2. #include "ui_DialogSoftKeyboardNumber.h"
  3. #include "DialogSoftKeyboard.h"
  4. DialogSoftKeyboardNumber::DialogSoftKeyboardNumber(QWidget *parent) : QWidget(parent), ui(new Ui::DialogSoftKeyboardNumber)
  5. {
  6. ui->setupUi(this);
  7. input = nullptr;
  8. }
  9. DialogSoftKeyboardNumber::~DialogSoftKeyboardNumber()
  10. {
  11. delete ui;
  12. }
  13. void DialogSoftKeyboardNumber::setInput(DialogSoftKeyboard *input)
  14. {
  15. this->input = input;
  16. }
  17. void DialogSoftKeyboardNumber::setBtns(QList<QPushButton *> btns)
  18. {
  19. this->btns = btns;
  20. }
  21. void DialogSoftKeyboardNumber::setSpacing(int spacing)
  22. {
  23. ui->widgetNumberLeft->layout()->setSpacing(spacing);
  24. ui->widgetNumberRight->layout()->setSpacing(spacing);
  25. }
  26. void DialogSoftKeyboardNumber::initClicked()
  27. {
  28. //关联信号槽 直接用主界面的按钮
  29. if (this->btns.count() >= 4) {
  30. connect(ui->btnDelete, SIGNAL(clicked(bool)), this->btns.at(0), SLOT(click()));
  31. connect(ui->btnSpace, SIGNAL(clicked(bool)), this->btns.at(1), SLOT(click()));
  32. connect(ui->btnEnter, SIGNAL(clicked(bool)), this->btns.at(2), SLOT(click()));
  33. connect(ui->btnClose, SIGNAL(clicked(bool)), this->btns.at(3), SLOT(click()));
  34. }
  35. QList<QPushButton *> btns;
  36. btns = ui->widgetNumber->findChildren<QPushButton *>();
  37. input->initBtn(btns);
  38. btns = ui->widgetNumberLeft->findChildren<QPushButton *>();
  39. foreach (QPushButton *btn, btns) {
  40. connect(btn, SIGNAL(clicked(bool)), this, SLOT(btnClicked()));
  41. }
  42. }
  43. void DialogSoftKeyboardNumber::btnClicked()
  44. {
  45. QPushButton *btn = (QPushButton *)sender();
  46. input->sendEvent(4, btn->text());
  47. }