123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- #include "importtemplate.h"
- #include "ui_importtemplate.h"
- #include <QDebug>
- #include <QPoint>
- #include <QTableWidgetItem>
- #include <QFile>
- #include "warning/warning.h"
- #include "lhstylemanager.h"
- ImportTemplate::ImportTemplate(QStringList& tabList,QWidget *parent) :
- QDialog(parent),
- ui(new Ui::ImportTemplate)
- {
- ui->setupUi(this);
- /* 设置隐藏边框 */
- this->setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint);
- /* 设置底层样式表 */
- this->setAttribute(Qt::WA_TranslucentBackground);
- /* 加载QSS文件 */
- // QFile file(":/QSS/QSS/importtemplate_light.qss");
- // if(file.open(QFile::ReadOnly))
- // {
- // QString styleSheet = file.readAll();
- // this->setStyleSheet(styleSheet);
- // file.close();
- // }
- LHStyleManager::Instance()->AddWidget(this);
- m_templateName.clear();
- /* 设置列数,列宽、列高、不可编辑、选择一行 */
- ui->tableWidget->setColumnCount(3);
- //设置行高
- ui->tableWidget->verticalHeader()->setDefaultSectionSize(48);
- /* 设置最小列宽 */
- ui->tableWidget->horizontalHeader()->setMinimumSectionSize(10);
- /* 设置列宽间距 */
- ui->tableWidget->setColumnWidth(0,46);
- ui->tableWidget->setColumnWidth(1,272);
- ui->tableWidget->setColumnWidth(2,60);
-
- //设置不可编辑
- ui->tableWidget->setEditTriggers(QTableWidget::NoEditTriggers);
- //设置选中一行
- ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
- //设置只能选中一行
- ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
- //隐藏竖滚动条
- ui->tableWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- //隐藏横滚动条
- ui->tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- //隐藏网格线
- ui->tableWidget->setShowGrid(false);
- //隐藏行号
- ui->tableWidget->verticalHeader()->setVisible(false);
- //隐藏列表头
- ui->tableWidget->horizontalHeader()->setVisible(false);
- //设置不显示选中后的虚线
- ui->tableWidget->setFocusPolicy(Qt::NoFocus);
- //开启排序功能
- // ui->tableWidget->setSortingEnabled(true);
- ui->label_warning->hide();
- connect(ui->pBtn_close,SIGNAL(clicked()),this,SLOT(close()));
- connect(ui->pBtn_cancel,SIGNAL(clicked()),this,SLOT(close()));
- connect(ui->pBtn_ok,SIGNAL(clicked()),this,SLOT(do_ok()));
- connect(ui->tableWidget,SIGNAL(cellClicked(int,int)),this,SLOT(do_seletctRow(int,int)));
- /* 先设置表格的行数 */
- ui->tableWidget->setRowCount(tabList.count());
- for(int i = 0;i < tabList.count();i++)
- {
- createRow(i,i + 1,tabList.at(i));
- }
- }
- ImportTemplate::~ImportTemplate()
- {
- delete ui;
- }
- void ImportTemplate::do_ok()
- {
- ui->label_warning->hide();
- if(m_templateName.isEmpty())
- {
- ui->label_warning->setText("请选择模版");
- ui->label_warning->show();
- return;
- }
- m_isOk = true;
- emit signal_templateName(m_templateName);
- this->close();
- }
- /* 选中一行 */
- void ImportTemplate::do_seletctRow(int row, int col)
- {
- if(col == 2)
- {
- /* 弹出框提示确定要删除 */
- Warning w(this);
- w.setText("是否删除模板?");
- bool flag = false;
- connect(&w,&Warning::signal_ok,this,[&](){
- flag = true;
- });
- w.exec();
- if(!flag)
- {
- return;
- }
- emit signal_deleteTemplate(ui->tableWidget->item(row,1)->text());
- ui->tableWidget->removeRow(row);
- /* 对模版重新编号 */
- for(int i = 0 ;i < ui->tableWidget->rowCount();i++)
- {
- ui->tableWidget->item(i,0)->setData(Qt::DisplayRole,i+1);
- }
- }else
- {
- m_templateName = ui->tableWidget->item(row,1)->text();
- }
- }
- /* 创建一行数据 */
- void ImportTemplate::createRow(int row,int num,const QString &text)
- {
- QTableWidgetItem* item = new QTableWidgetItem;
- item->setData(Qt::DisplayRole,num);
- // item->setTextAlignment(Qt::AlignVCenter);
- ui->tableWidget->setItem(row,0,item);
- item = new QTableWidgetItem(text);
- // item->setTextAlignment(Qt::AlignVCenter | Qt::AlignLeft);
- ui->tableWidget->setItem(row,1,item);
- item = new QTableWidgetItem("删除");
- // item->setTextAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
- item->setForeground(Qt::blue);
- ui->tableWidget->setItem(row,2,item);
- }
|