⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treewidget.h

📁 跨平台,多数据库查看编辑和查询工具,平台支持windows,linux,数据库支持oracle,odbc,mysql,slite等
💻 H
字号:

#ifndef TREEWIDGET_H
#define TREEWIDGET_H

#include <QtGui>
#include <QtSql>
#include "struct.h"
#include "mysqltablemodel.h"
class TreeWidget : public QTreeWidget
{
	Q_OBJECT

public:
	TreeWidget(QWidget *parent = 0);	
	~TreeWidget();
	void setConnectionSetup(QSqlDatabase *gdb, ConnectionSetup cs);	
	void closeDb();
	QString connectName;
	void insertTable(QSqlDatabase *dbname,QString tableName=QString());
signals:
	void setTableModel(MySqlTableModel * model,const QString caption);	
	void onShow(QString & strConnectName);
	void showMessage(const QString &msg);
	void canEdit(bool bEdit);
protected:
	void showEvent ( QShowEvent * event ) ;
public slots:
	void loadTableName();
	bool reConnect();	
	void insertTable();
	void onInsertField();
	void reInsertField();
	void reInsertTable();
	void clearCache();
	void onEditTableName();
	void onEditFieldName();
	void onEditTable();
	void onItemExpanded ( QTreeWidgetItem *);
private slots:
	void doubleClick( QTreeWidgetItem *item, int col);
	void onCurrentItemChanged ( QTreeWidgetItem * curItem,QTreeWidgetItem * preItem);
	void onSetupAsso();
	void onSetupPrimaryKey();
	
private:
	
	ConnectionSetup connectionSetup;
	QSqlDatabase db;
	QSqlDatabase *global_db;
	
	MySqlTableModel *model;
	bool openDatabase();
	
	void insertField();
	QString getTableName(QTreeWidgetItem *item);
	void insertField(QSqlDatabase *dbname,QString tname);
	void setupRelation(MySqlTableModel *tableModel);
	//void removeRelation(MySqlTableModel *tableModel);
	
	QAction *editTableNameAction,
	        *editFieldNameAction,
	        *refreshFieldAction,
	        *setupAssoAction,
	        *setupPrimayKey;
	        
	
	
	
};
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -