Ai
81 Star 380 Fork 168

LibQQt应用程序开发组织/LibQQt

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
qqtmultipagetablewidget.h 2.57 KB
一键复制 编辑 原始数据 按行查看 历史
tianduanrui 提交于 2019-10-03 12:18 +08:00 . 全部析构函数加virtual
#ifndef QQTMULTIPAGETABLEWIDGET_H
#define QQTMULTIPAGETABLEWIDGET_H
#include <QWidget>
#include <QSqlRelationalTableModel>
#include <QHeaderView>
#include <QTableView>
#include "qqttablewidget.h"
#include "qqt-local.h"
namespace Ui {
class QQtMultiPageTableWidget;
}
/**
* @brief The QQtMultiPageTableWidget class
* 关于视图规格的改变改变到上层
* 这里的控件使用默认视图
* 这里的控件只是Table-DB关系,没有Tree/List模型
*
* 第一次查询,为数据准备页面,速度较慢。
* 后来,变动时,只有导致页数变动时才会慢一点点的感觉。
* 平时查看,都是极速。
*/
class QQTSHARED_EXPORT QQtMultiPageTableWidget : public QWidget
{
Q_OBJECT
public:
explicit QQtMultiPageTableWidget ( QWidget* parent = 0 );
virtual ~QQtMultiPageTableWidget();
void setDB ( QString db );
void setTable ( QString table );
void setRelation ( int column, const QSqlRelation& relation );
void setRecordNumPerPage ( int num );
void setColumnHidden ( int key, bool value = true );
void setSelectionMode ( QAbstractItemView::SelectionMode mode = QAbstractItemView::MultiSelection );
void setResizeMode ( QHeaderView::ResizeMode mode = QHeaderView::ResizeToContents );
void setResizeMode ( int column, QHeaderView::ResizeMode mode = QHeaderView::ResizeToContents );
void setAlternatingRowColors ( bool alt = true );
void setHeaderData ( Qt::Orientation, QStringList dataList );
void setHeaderData ( int i, Qt::Orientation, QString data );
void setColumnWidth ( int column, int width );
void query ( QString filter = "1=1" );
void selectedRows ( int column, QVector<QStringList>& strl );
QQtTableWidget* selectedRows ( int column = 0 );
int pageNum();
int currentPage();
//1-pagenum
void setCurrentPage ( int page );
public slots:
void removeSelectedRows ( int column = 0 );
private slots:
void on_btnLeft_clicked();
void on_btnRight_clicked();
void on_btnJump_clicked();
void on_btnLeftHead_clicked();
void on_btnRightHead_clicked();
private:
Ui::QQtMultiPageTableWidget* ui;
QSqlDatabase m_db;
QString m_name;
QString m_table;
int m_numPerPage ;
int m_pageNum;
QHash<int, QSqlRelation> m_columnRelation;
QHash<int, bool> m_columnHidden;
QHash<int, QString> m_headerData;
QHash<int, int> m_columnWidth;
QHeaderView::ResizeMode resizeMode;
QHash<int, QHeaderView::ResizeMode> m_resizeMode;
QAbstractItemView::SelectionMode selectionMode;
bool altColor;
};
#endif // QQTMULTIPAGETABLEWIDGET_H
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C/C++
1
https://gitee.com/drabel/LibQQt.git
git@gitee.com:drabel/LibQQt.git
drabel
LibQQt
LibQQt
master

搜索帮助