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

📄 form1.ui.h

📁 简单的基于文件的数据库小程序
💻 H
字号:
/****************************************************************************** ui.h extension file, included from the uic-generated form implementation.**** If you want to add, delete, or rename functions or slots, use** Qt Designer to update this file, preserving your code.**** You should not define a constructor or destructor in this file.** Instead, write your code in functions called init() and destroy().** These will automatically be called by the form's constructor and** destructor.*****************************************************************************/    dbs *database;table* tab ;void Form1::init(){    inits();    database = new dbs();               QListViewItem* db_item;       int  i=0;    list->clear();    //database->add("xxx");    int res1 = database->databases.size();            while(i<res1){	int res2 = database->databases[i]->tables.size();	db_item = new QListViewItem(list,database->databases[i]->dbName);	int j=0;	while(j<res2) {		QString table_name = database->databases[i]->tables[j];		new QListViewItem(db_item,table_name);		j++;	    }	i++;    }}void Form1::fileNew(){}void Form1::fileOpen(){}void Form1::fileSave(){}void Form1::fileSaveAs(){}void Form1::filePrint(){}void Form1::fileExit(){}void Form1::editUndo(){}void Form1::editRedo(){}void Form1::editCut(){}void Form1::editCopy(){}void Form1::editPaste(){}void Form1::editFind(){}void Form1::helpIndex(){}void Form1::helpContents(){}void Form1::helpAbout(){}void Form1::showItem(QListViewItem* item){    QPixmap *key = new QPixmap("Ico/key.jpg");    QIconSet *ico = new QIconSet(*key);   if(item!=NULL)    {       for(int i=0;i<database->databases.size();i++)       {	   for(int j=0;j<database->databases[i]->tables.size();j++)	   {	       if(item->text(0)==database->databases[i]->tables[j])	       {		   //showItem(item->text(0));		   QString t = item->text(0);		   checkFileExist(t);		   tab = new table(t);		   table1->setNumRows(tab->getRows());		   table1->setNumCols(tab->getCols());		for(int i=0;i<tab->getCols();i++)		{		    if(tab->isKey(tab->attrib[i]))		    table1->horizontalHeader()->setLabel( i, *ico,tab->attrib[i]  );		    else		 table1->horizontalHeader()->setLabel( i, tab->attrib[i]  );		    		} 		 for(int i=0;i<tab->getRows();i++ )		{		  for(int j=0;j<tab->getCols();j++)		  {		           			   table1->setItem( i, j, new QTableItem(table1,QTableItem::OnTyping,tab->getItem(i,j))  );			   			       		  }		}		}       } 	       }   } }void Form1::showItem(){    		   table1->setNumRows(tab->getRows());		   table1->setNumCols(tab->getCols());		         for(int i=0;i<tab->getCols();i++)		   {		       table1->horizontalHeader()->setLabel( i, tab->attrib[i]  );		       		      		   } 			 for(int i=0;i<tab->getRows();i++ )		{			      for(int j=0;j<tab->getCols();j++)		       {			   table1->setItem( i, j, new QTableItem(table1,QTableItem::OnTyping,tab->getItem(i,j))  );		       }		}}void Form1::addDB(){    addForm *dialog = new addForm(this,"");    dialog->exec();    init();}void Form1::addTB(){    addForm *dialog = new addForm(this,"");    dialog->tabWidget2->setCurrentPage(1);    dialog->exec();    init();    delete dialog;}void Form1::addnewline(){        table1->insertRows(table1->numRows());    }void Form1::newcol(){    table1->insertColumns(table1->numCols());    colForm* n = new colForm(this,"");    n->exec();    table1->horizontalHeader()->setLabel(table1->numCols()-1,n->getText());    delete n;    }int Form1::checkKey(){    int temp = 0;        for(int j =0 ; j < table1->numRows()-1;j++)    {	 	for(int k =j+1;k<table1->numRows();k++)	 {	    temp=1;	     for(int i=0;i<table1->numCols();i++)	     {		 if(table1->horizontalHeader()->iconSet(i)!=0)		 {		     if(table1->text(j,i)!=table1->text(k,i))		     {			 temp = 0;			 		     }		 }		 	     }	     	     if(temp==1)	    return temp;	 }	     }        return temp;}void Form1::maintain(){    if(checkKey()!=0)    {	QMessageBox::information( this, "ERROR",    "Two line has the same key\n"     );	return;    }        for(int i=0;i<table1->numCols();i++)    {	if(table1->horizontalHeader()->iconSet(i)!=0)	{	    for(int j=0;j<table1->numRows();j++)	    {		if(table1->text(j,i).isEmpty())		{		    QMessageBox::information( this, "ERROR",    "The key words can not be empty\n"     );		    return;		}	    }	}    }        int j;    int fd = openFile(tab->name);    QString tt = getNextLine(fd);        deleteFile(tab->name);    checkFileExist(tab->name);    addLineToFile(tab->name,tt);        std::cout<<table1->numRows()<<"  "<<table1->numCols();   QString temp="";    for(int i=0 ;i<table1->numCols()-1;i++)    {	temp+=table1->horizontalHeader()->label( i);	temp+=",";    }    temp+=table1->horizontalHeader()->label(table1->numCols()-1);    addLineToFile(tab->name,temp);    for(int i=0;i<table1->numRows();i++)    {	QString temp="";		for(j=0;j<table1->numCols()-1;j++)	{	    if(table1->text(i,j)=="")		temp+="NULL";	    else	    		temp+=table1->text(i,j);	    		temp+=",";	    	}	if(table1->text(i,j)=="")		temp+="NULL";	    else	    	temp+=table1->text(i,j);	   	//std::cout<<temp<<endl;	addLineToFile(tab->name,temp);    }    }void Form1::findAction(){    findForm *x = new findForm();    x->exec();    showItem();    }void Form1::deleteOne(){    for(int i=0;i<table1->numRows();i++)    {	if(table1->isRowSelected(i,TRUE)==TRUE)	{	    table1->removeRow(i);	}    }    for(int i=0;i<table1->numCols();i++)    {	if(table1->isColumnSelected(i,TRUE)==TRUE)	{	    if(table1->horizontalHeader()->iconSet(i)==0)	    table1->removeColumn(i);	    else{		QMessageBox::information( this, "ERROR",    "You can not remove the key col\n"     );	    }	}    }}void Form1::deldb(){    delForm* d = new delForm(this,"");    d->tabWidget3->setCurrentPage(0);    d->exec();        init();    delete d;}void Form1::deltb(){    delForm* d = new delForm(this,"");    d->tabWidget3->setCurrentPage(1);    d->exec();        init();    delete d;}

⌨️ 快捷键说明

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