123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #include "settingnum.h"
- #include "ui_settingnum.h"
- #include <QDebug>
- #include <QFile>
- #include "customcombobox.h"
- #include "onesettingitem.h"
- SettingNum::SettingNum(QDialog *parent) :
- QDialog(parent),
- ui(new Ui::SettingNum)
- {
- ui->setupUi(this);
- m_logger = spdlog::get("EyeMap");
- if(m_logger == nullptr)
- {
- qDebug() << "获取 EyeMap logger 失败";
- return;
- }
- /* 设置无边框 */
- this->setWindowFlags(Qt::FramelessWindowHint);
- /* 加载QSS */
- QFile fileQss(":/qss/SettingNum/SettingNum.qss");
- if(fileQss.open(QFile::ReadOnly))
- {
- QString qss = fileQss.readAll();
- this->setStyleSheet(qss);
- fileQss.close();
- } else
- {
- SPDLOG_LOGGER_ERROR(m_logger, "加载QSS文件失败");
- }
- /* 设置下拉框可选个数 */
- QStringList listRow;
- listRow << "1" << "2" << "3" << "4";
- ui->comboBox_rowNum->addItems(listRow);
- ui->comboBox_columnNum->addItem("1");
- ui->comboBox_columnNum->addItem("2");
- ui->comboBox_rowNum->setCurrentIndex(1);
- ui->comboBox_columnNum->setCurrentIndex(1);
- connect(ui->pBtn_close, &QPushButton::clicked, this, &SettingNum::do_pBtn_close);
- }
- SettingNum::~SettingNum()
- {
- delete ui;
- }
- /* 设置行数和列数 */
- void SettingNum::setRowAndColumn(int row, int column)
- {
- ui->comboBox_rowNum->setCurrentIndex(row - 1);
- ui->comboBox_columnNum->setCurrentIndex(column - 1);
- /* 根据 行 x 列 总数计算需要显示的个数 */
- int num = row * column;
- for(int i = 0; i < 8; i++)
- {
- OneSettingItem *item = new OneSettingItem(ui->widget_list);
- item->setNum(i + 1);
- m_listItem.append(item);
- }
- /* 移动item的位置 */
- layoutItem(num);
- }
- void SettingNum::do_pBtn_close()
- {
- this->close();
- }
- /**
- * @brief 布局item
- *
- * @param num 需要显示的几个item
- */
- void SettingNum::layoutItem(int num)
- {
- for(auto item : m_listItem)
- {
- auto dy = (item->getNum() - 1) * 48;
- item->move(0, dy);
- if(item->getNum() > num)
- {
- item->hide();
- } else
- {
- item->show();
- }
- }
-
- }
|