#include "qformatset.h" #include "../public_def.h" #include "ui_qformatset.h" QFormatSet::QFormatSet(QWidget* parent) : QDialog(parent), ui(new Ui::QFormatSet) { ui->setupUi(this); connect(ui->btnOk, &QPushButton::clicked, this, [&]() { handle(); }); connect(ui->btnCancel, &QPushButton::clicked, this, [&]() { isok_ = false; close(); }); connect(ui->cbAll, &QCheckBox::toggled, this, [&]() { check_select(); }); connect(ui->btnSelect, &QPushButton::clicked, this, [&]() { QString file = CUtil::select_file(this, u8"请选择xml文件", u8"XML(*.xml);;所有文件 (*)"); if (file.isEmpty()) { return; } ui->edXmlPath->setText(file); }); } QFormatSet::~QFormatSet() { delete ui; } void QFormatSet::handle() { values_.clear(); if (ui->cbAdd->isChecked()) { values_.push_back("+"); } if (ui->cbAnd->isChecked()) { values_.push_back("&&"); } if (ui->cbOr->isChecked()) { values_.push_back("||"); } if (ui->cbMul->isChecked()) { values_.push_back("*"); } if (ui->cbSub->isChecked()) { values_.push_back("-"); } if (ui->cbDiv->isChecked()) { values_.push_back("/"); } if (ui->cbLess->isChecked()) { values_.push_back("<"); } if (ui->cbMore->isChecked()) { values_.push_back(">"); } if (ui->cbEq->isChecked()) { values_.push_back("=="); } if (ui->cbNotEq->isChecked()) { values_.push_back("!="); } xml_path_ = ui->edXmlPath->text().toStdString(); isok_ = true; close(); } void QFormatSet::check_select() { auto set_check = [&](QCheckBox* ed, bool check) { if (ed) { ed->setChecked(check); } }; bool check = ui->cbAll->isChecked(); set_check(ui->cbAdd, check); set_check(ui->cbSub, check); set_check(ui->cbMul, check); set_check(ui->cbDiv, check); set_check(ui->cbLess, check); set_check(ui->cbMore, check); set_check(ui->cbOr, check); set_check(ui->cbAnd, check); set_check(ui->cbEq, check); set_check(ui->cbNotEq, check); }