|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @file FITKTableWidget.h
|
|
|
|
|
* @brief 表格组件添加
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
#ifndef FITKTableWidget_H_
|
|
|
|
|
#define FITKTableWidget_H_
|
|
|
|
|
|
|
|
|
|
#include <QTableWidget>
|
|
|
|
|
#include "FITKWidgetAPI.h"
|
|
|
|
|
|
|
|
|
|
namespace Comp
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* @brief 表格组件添加
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
class FITKWidgetAPI FITKTableWidget :public QTableWidget
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT;
|
|
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* @brief Construct a new FITKTableWidget object
|
|
|
|
|
* @param[i] parent My Param doc
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
FITKTableWidget(QWidget* parent);
|
|
|
|
|
/**
|
|
|
|
|
* @brief Destroy the FITKTableWidget object
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual ~FITKTableWidget();
|
|
|
|
|
/**
|
|
|
|
|
* @brief 设置回车按钮是否添加一行(默认为true)
|
|
|
|
|
* @param[i] isAppend true:开启 false:关闭
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
void setAppendLineByEnterPressed(bool isAppend);
|
|
|
|
|
/**
|
|
|
|
|
* @brief 设置表格是否是单行模式(默认为false)
|
|
|
|
|
* @param[i] isAlone true:开启 false:关闭
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
void setIsAloneRow(bool isAlone);
|
|
|
|
|
protected slots:
|
|
|
|
|
;
|
|
|
|
|
/**
|
|
|
|
|
* @brief 剪切当前数据
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual void cutCurrentData();
|
|
|
|
|
/**
|
|
|
|
|
* @brief 拷贝当前数据
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual void copyCurrentData();
|
|
|
|
|
/**
|
|
|
|
|
* @brief 粘贴
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual void pasteCurrentData();
|
|
|
|
|
/**
|
|
|
|
|
* @brief 在当前行前面插入一行空白数据
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual void insertRowBefore();
|
|
|
|
|
/**
|
|
|
|
|
* @brief 在当前行后面插入一行空白数据
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual void insertRowAfter();
|
|
|
|
|
/**
|
|
|
|
|
* @brief 删除一行或多行数据
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual void deleteTableRows();
|
|
|
|
|
/**
|
|
|
|
|
* @brief 删除一个单元格的数据
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual void clearContents();
|
|
|
|
|
/**
|
|
|
|
|
* @brief 清空所有tableWidget的数据,保留空行
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual void clearTable();
|
|
|
|
|
/**
|
|
|
|
|
* @brief 上下文菜单事件处理
|
|
|
|
|
* @param[i] pos My Param doc
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual void handleContextMenu(const QPoint& pos);
|
|
|
|
|
protected:
|
|
|
|
|
/**
|
|
|
|
|
* @brief 键盘按下事件重写(重写换行按钮事件)
|
|
|
|
|
* @param[i] event 事件对象
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual void keyPressEvent(QKeyEvent *event) override;
|
|
|
|
|
/**
|
|
|
|
|
* @brief 键盘抬起事件重写
|
|
|
|
|
* @param[i] event 事件对象
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual void keyReleaseEvent(QKeyEvent *event) override;
|
|
|
|
|
/**
|
|
|
|
|
* @brief 重写方法,屏蔽编辑框的右键菜单
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual bool edit(const QModelIndex &index, EditTrigger trigger = QAbstractItemView::SelectedClicked, QEvent *event = nullptr) override;
|
|
|
|
|
/**
|
|
|
|
|
* @brief 插入新行
|
|
|
|
|
* @param[i] row 所要插入的行号
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-06-07
|
|
|
|
|
*/
|
|
|
|
|
virtual void insertNewRow(int row);
|
|
|
|
|
protected:
|
|
|
|
|
/**
|
|
|
|
|
* @brief 拷贝数据
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-04-22
|
|
|
|
|
*/
|
|
|
|
|
QString _copyValue = "";
|
|
|
|
|
/**
|
|
|
|
|
* @brief 是否通过回车添加换行标记符
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-04-22
|
|
|
|
|
*/
|
|
|
|
|
bool _isAddLineByEnter = true;
|
|
|
|
|
/**
|
|
|
|
|
* @brief 是否为单行模式标记符
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-04-22
|
|
|
|
|
*/
|
|
|
|
|
bool _isAloneRow = false;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif
|