PinYinChar.cpp 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "PinYinChar.h"
  2. #include "DialogSoftKeyboard.h"
  3. PinYinChar::PinYinChar(QObject *parent) : QObject(parent)
  4. {
  5. input = 0;
  6. }
  7. void PinYinChar::setInput(DialogSoftKeyboard *input)
  8. {
  9. this->input = input;
  10. }
  11. void PinYinChar::setBtns(QList<QPushButton *> btns)
  12. {
  13. this->btns = btns;
  14. }
  15. void PinYinChar::setCharType(quint8 charType, QPushButton *btnChar)
  16. {
  17. //可自行更改特殊符号,这里可以改成其他输入法使用比如日文韩文俄文等
  18. input->charType = charType;
  19. QStringList chars;
  20. if (charType == 0) {
  21. //数字+英文
  22. chars << "0" << "1" << "2" << "3" << "4" << "5" << "6" << "7" << "8" << "9";
  23. chars << "~" << "@" << "¥" << "-" << "_" << "/" << "\\" << "|" << "\"" << "'";
  24. chars << "." << "," << ":" << ";" << "?" << "!";
  25. btnChar->setText("#+=");
  26. } else if (charType == 1) {
  27. //英文+中文
  28. chars << "=" << "$" << "%" << "^" << "&&" << "*" << "(" << ")" << "#" << "+";
  29. chars << "[" << "]" << "{" << "}" << "<" << ">" << "…" << "`" << "“" << "‘";
  30. chars << "。" << "," << ":" << ";" << "?" << "!";
  31. btnChar->setText("?123");
  32. } else {
  33. //中文+其他
  34. chars << ">" << "【" << "】" << "{" << "}" << "《" << "》" << "(" << ")" << "<";
  35. chars << "↑" << "↓" << "←" << "→" << "^_^" << "*_*" << "^▽^" << "∩_∩" << "√" << "×";
  36. chars << "﹍" << "|" << "△" << "☆" << "±" << "¥";
  37. btnChar->setText("&&123");
  38. }
  39. //格式 btn0 - btn25
  40. foreach (QPushButton *btn, btns) {
  41. QString objName = btn->objectName();
  42. if (objName.length() <= 5) {
  43. int index = objName.mid(3, objName.length() - 3).toInt();
  44. btn->setText(chars.at(index));
  45. }
  46. }
  47. }