Group.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #include "Group.h"
  2. #include "ui_Group.h"
  3. #include <QDebug>
  4. #include <QMouseEvent>
  5. #include <QSettings>
  6. Group::Group(int Id, const QString& imagePath1, const QString& imagePath2, const QStringList& textList, QWidget* parent)
  7. : QWidget(parent), ui(new Ui::Group) {
  8. ui->setupUi(this);
  9. QPixmap pixmap1(imagePath1);
  10. QPixmap pixmap2(imagePath2);
  11. ui->Imagewidget_left->setPixmap(pixmap1);
  12. ui->Imagewidget_right->setPixmap(pixmap2);
  13. ui->DatacomboBox->addItems(textList);
  14. ui->Imagewidget_left->setProperty("groupId", Id);
  15. ui->Imagewidget_right->setProperty("groupId", Id);
  16. // 存储参数到 QSettings
  17. saveGroupSettings(Id, imagePath1, imagePath2, textList);
  18. initForm();
  19. }
  20. Group::~Group() {
  21. delete ui;
  22. }
  23. void Group::initForm() {
  24. ui->Imagewidget_left->installEventFilter(this);
  25. ui->Imagewidget_right->installEventFilter(this);
  26. }
  27. bool Group::eventFilter(QObject *obj, QEvent *event) {
  28. if (event->type() == QEvent::MouseButtonDblClick) {
  29. QMouseEvent* mouseEvent = static_cast<QMouseEvent*>(event);
  30. if (mouseEvent->button() == Qt::LeftButton) {
  31. int groupId = obj->property("groupId").toInt();
  32. QSettings settings("YourCompany", "YourApplication_");
  33. settings.setValue("GroupId", groupId);
  34. if (obj == this->ui->Imagewidget_left) {
  35. settings.setValue("Index", 1);
  36. } else if (obj == this->ui->Imagewidget_right) {
  37. settings.setValue("Index", 2);
  38. }
  39. return true;
  40. }
  41. }
  42. return QWidget::eventFilter(obj, event);
  43. }
  44. void Group::saveGroupSettings(int Id, const QString& imagePath1, const QString& imagePath2, const QStringList& textList) {
  45. QSettings settings("YourOrganization", "YourApplication");
  46. settings.beginGroup(QString::number(Id));
  47. settings.setValue("ImagePath1", imagePath1);
  48. settings.setValue("ImagePath2", imagePath2);
  49. settings.setValue("TextList", textList);
  50. settings.endGroup();
  51. }