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

📄 mainform.ui.h

📁 学生管理系统 使用Qt写的界面 交互性好
💻 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.
*****************************************************************************/

using namespace std;

void Form1::init()
{
    connect( as.pushButton17, SIGNAL( clicked() ), this, SLOT( ShowAddStudent() ) );
    connect( cf.pushButton39, SIGNAL( clicked() ), this, SLOT( DeleteLVI() ) );
    connect( sq.pushButton65, SIGNAL( clicked() ), this, SLOT( SearchByName() ) );
    connect( sq.pushButton66, SIGNAL( clicked() ), this, SLOT( SearchByID() ) );
    connect( as.pushButton88, SIGNAL( clicked() ), this, SLOT( showModifyStudent() ) );
    connect( ac.pushButton77, SIGNAL( clicked() ), this, SLOT( ShowAddCourse() ) );
    connect( ac.pushButton99, SIGNAL( clicked() ), this, SLOT( ShowModifyCourse() ) );
    connect( sq2.pushButton141, SIGNAL( clicked() ), this, SLOT( ShowCourseSearch() ) );
    connect( ag.pushButton156, SIGNAL( clicked() ), this, SLOT( ShowAddScore() ) );
    connect( ag.pushButton169, SIGNAL( clicked() ), this, SLOT( ShowModifyScore() ) );
}

void Form1::fileNew()
{

}


void Form1::fileOpen()
{

}


void Form1::fileSave()
{

}


void Form1::fileSaveAs()
{

}


void Form1::filePrint()
{

}


void Form1::fileExit()
{

}


void Form1::helpIndex()
{

}


void Form1::helpContents()
{

}


void Form1::helpAbout()
{

}


void Form1::Confirm()
{
    cf.show();
}


void Form1::ShowAddStudent()
{
    static QListViewItem *lvi;
    if(as.ID!="" && as.name!="" && as.age>0 && as.age<=200 && (as.sex == 'M'|| as.sex == 'F')){		for (vector<Student>::iterator iter = stu.begin(); 
	iter < stu.end(); iter++) 
	    if(as.ID == (QString)iter->getID())return;
	Student s(as.name,as.ID,as.age,as.sex);
	stu.push_back(s);
	lvi = new QListViewItem(listView1);
	lvi->setText(0,as.ID);
	lvi->setText(1,as.name);
	lvi->setText(2,as.agetext);
	lvi->setText(3,as.sextext);
	listView1->insertItem(lvi);
    }
}


void Form1::showAddForm()
{
    as.show();
}


void Form1::Add()
{
    as.myinit();
    showAddForm();
    as.pushButton17->setEnabled(true);
    as.pushButton88->setEnabled(false);
}




void Form1::DeleteLVI()
{
    switch(tabWidget1->currentPageIndex()){
    case 0: 
	if(listView1->currentItem() != NULL)
	{
	QListViewItem *t = listView1->currentItem();
	for (vector<Student>::iterator iter = stu.begin(); 
	iter < stu.end(); iter++) {
	    if(t->text(0) == (QString)iter->getID()){
		stu.erase(iter);
		break;
	    }
	}
	for (vector<Score>::iterator iter = scr.begin(); 
	iter < scr.end(); iter++) {
	    if(t->text(0) == (QString)iter->getSID()){
		scr.erase(iter);
	    }
	}  
	listView1->takeItem(listView1->currentItem());
	break;
    }
    case 1:
	if(listView2->currentItem() != NULL)
	{
	QListViewItem *t = listView2->currentItem();
	for (vector<Course>::iterator iter = crs.begin(); 
	iter < crs.end(); iter++) {
	    if(t->text(0) == (QString)iter->getID()){
		crs.erase(iter);
		break;
	    }
	} 
	for (vector<Score>::iterator iter = scr.begin(); 
	iter < scr.end(); iter++) {
	    if(t->text(0) == (QString)iter->getCID()){
		scr.erase(iter);
	    }
	}
	listView2->takeItem(listView2->currentItem());
	break;
    }
    case 2:
	if(listView3->currentItem() != NULL)
	{
	QListViewItem *t = listView3->currentItem();
	for (vector<Score>::iterator iter = scr.begin(); 
	iter < scr.end(); iter++) {
	    if(t->text(0) == (QString)iter->getSID()){
		scr.erase(iter);
		break;
	    }
	} 
	listView3->takeItem(listView3->currentItem());
	break;
    }
}
}


void Form1::Search()
{
    sq.myinit();
    sq.show();
}


void Form1::SearchByName()
{
    static QListViewItem *lvi;
    listView1->clear();
    for (vector<Student>::iterator iter = stu.begin(); 
	iter < stu.end(); iter++) {
	    if(sq.key == (QString)iter->getname()){
		lvi = new QListViewItem(listView1);
		lvi->setText(0,(QString)iter->getID());
		lvi->setText(1,(QString)iter->getname());
		lvi->setText(2,QString::number(iter->getage(),10));
		lvi->setText(3,iter->getsex() == 'M'?"Male":"Female");
		listView1->insertItem(lvi);
	    }
	} 
}


void Form1::SearchByID()
{
    static QListViewItem *lvi;
    listView1->clear();
    for (vector<Student>::iterator iter = stu.begin(); 
	iter < stu.end(); iter++) {
	    if(sq.key == (QString)iter->getID()){
		lvi = new QListViewItem(listView1);
		lvi->setText(0,(QString)iter->getID());
		lvi->setText(1,(QString)iter->getname());
		lvi->setText(2,QString::number(iter->getage(),10));
		lvi->setText(3,iter->getsex() == 'M'?"Male":"Female");
		listView1->insertItem(lvi);
	    }
	} 
}


void Form1::ShowAllStudent()
{
    static QListViewItem *lvi;
    listView1->clear();
    for (vector<Student>::iterator iter = stu.begin(); 
	iter < stu.end(); iter++) {
	    lvi = new QListViewItem(listView1);
	    lvi->setText(0,(QString)iter->getID());
	    lvi->setText(1,(QString)iter->getname());
	    lvi->setText(2,QString::number(iter->getage(),10));
	    lvi->setText(3,iter->getsex() == 'M'?"Male":"Female");
	    listView1->insertItem(lvi);
	} 
}


void Form1::Modify()
{
    if(listView1->currentItem() != NULL)
    {
	QListViewItem *t = listView1->currentItem();
	for (vector<Student>::iterator iter = stu.begin(); 
	iter < stu.end(); iter++) {
	    if(t->text(0) == (QString)iter->getID()){
		showAddForm();
		as.pushButton17->setEnabled (false);
		as.pushButton88->setEnabled(true);
		as.lineEdit1->setText((QString)iter->getname());
		as.lineEdit2->setText((QString)iter->getID());
		as.lineEdit3->setText(QString::number(iter->getage(),10));
		as.comboBox1->setCurrentItem(iter->getsex() == 'M'?0:1);
		break;
	    }
	} 
    }
}


void Form1::showModifyStudent()
{
    QListViewItem *t = listView1->currentItem();
    for (vector<Student>::iterator iter = stu.begin(); 
    iter < stu.end(); iter++) {
	if(t->text(0) == (QString)iter->getID()){
	    iter->setID(as.ID);
	    iter->setname(as.name);
	    iter->setage(as.age);
	    iter->setsex(as.sex);
	    t->setText(0,(QString)iter->getID());
	    t->setText(1,(QString)iter->getname());
	    t->setText(2,QString::number(iter->getage(),10));
	    t->setText(3,iter->getsex() == 'M'?"Male":"Female");
	    break;
	}
    }
}


void Form1::showAllCourse()
{
    static QListViewItem *lvi;
    listView2->clear();
    for (vector<Course>::iterator iter = crs.begin(); 
	iter < crs.end(); iter++) {
	    lvi = new QListViewItem(listView2);
	    lvi->setText(0,(QString)iter->getID());
	    lvi->setText(1,(QString)iter->getname());
	    lvi->setText(2,QString::number(iter->getpoint(),'f',1));
	    lvi->setText(3,(QString)(iter->getTeacher())->getname());
	    lvi->setText(4,(QString)(iter->getTeacher())->getID());
	    listView2->insertItem(lvi);
	}
}


void Form1::ShowAddCForm()
{
    ac.show();
}


void Form1::AddCourse()
{
    ac.myinit();
    ShowAddCForm();
    ac.pushButton77->setEnabled(true);
    ac.pushButton99->setEnabled(false);
}


void Form1::ShowAddCourse()
{
    static QListViewItem *lvi;
    if(ac.ID!="" && ac.name!="" && ac.tname != "" && ac.tID != "")
    {
	for (vector<Course>::iterator iter = crs.begin(); 
	iter < crs.end(); iter++) 
	    if(ac.ID == (QString)iter->getID())return;
	Teacher *t = new Teacher(ac.tname,ac.tID);
	Course c(ac.name,ac.ID,ac.point,t);
	crs.push_back(c);
	lvi = new QListViewItem(listView2);
	lvi->setText(0,(QString)ac.ID);
	lvi->setText(1,(QString)ac.name);
	lvi->setText(2,QString::number(ac.point,'f',1));
	lvi->setText(3,(QString)ac.tname);
	lvi->setText(4,(QString)ac.tID);
	listView2->insertItem(lvi);
    }
}


void Form1::ModifyCourse()
{
     if(listView2->currentItem() != NULL)
    {
	QListViewItem *t = listView2->currentItem();
	for (vector<Course>::iterator iter = crs.begin(); 
	iter < crs.end(); iter++) {
	    if(t->text(0) == (QString)iter->getID()){
		ShowAddCForm();
		ac.pushButton77->setEnabled (false);
		ac.pushButton99->setEnabled(true);
		ac.lineEdit46->setText((QString)iter->getID());
		ac.lineEdit47->setText((QString)iter->getname());
		ac.comboBox8->setCurrentItem((int)((iter->getpoint()-1)/0.5));
		ac.lineEdit49->setText((QString)(iter->getTeacher())->getname());
		ac.lineEdit50->setText((QString)(iter->getTeacher())->getID());
		break;
	    }
	} 
    }
}


void Form1::ShowModifyCourse()
{
    QListViewItem *t = listView2->currentItem();
    for (vector<Course>::iterator iter = crs.begin(); 
    iter < crs.end(); iter++) {
	if(t->text(0) == (QString)iter->getID()){
	    iter->setID(ac.ID);
	    iter->setname(ac.name);
	    iter->setpoint(ac.point);
	    iter->getTeacher()->setname(ac.tname);
	    iter->getTeacher()->setID(ac.tID);
	    t->setText(0,(QString)ac.ID);
	    t->setText(1,(QString)ac.name);
	    t->setText(2,QString::number(ac.point,'f',1));
	    t->setText(3,(QString)ac.tname);
	    t->setText(4,(QString)ac.tID);
	    break;
	}
    }
}


void Form1::Search2()
{
    sq2.myinit();
    sq2.show();
}


void Form1::ShowCourseSearch()
{
    static QListViewItem *lvi;
    listView2->clear();
    for (vector<Course>::iterator iter = crs.begin(); 
	iter < crs.end(); iter++) {
	    if(sq2.key == (QString)iter->getID()){
		lvi = new QListViewItem(listView1);
		lvi->setText(0,(QString)iter->getID());
		lvi->setText(1,(QString)iter->getname());
		lvi->setText(2,QString::number(iter->getpoint(),'f',1));
		lvi->setText(3,(QString)(iter->getTeacher())->getname());
		lvi->setText(4,(QString)(iter->getTeacher())->getID());
		listView2->insertItem(lvi);
	    }
	} 
}


void Form1::AddScore()
{
    ag.myinit();
    ShowAddSForm();
    ag.pushButton156->setEnabled(true);
    ag.pushButton169->setEnabled(false);
}


void Form1::ShowAddScore()
{
    static QListViewItem *lvi;
    if(ag.sid!="" && ag.cid!="" && ag.grade>0 && ag.grade<=100)
    {
	vector<Student>::iterator iters;
	for (iters = stu.begin(); iters < stu.end(); iters++)
	    if(ag.sid == (QString)iters->getID())break;
	if(ag.sid !=(QString)iters->getID())return;
	vector<Course>::iterator iterc;
	for (iterc = crs.begin(); iterc < crs.end(); iterc++)
	    if(ag.cid == (QString)iterc->getID())break;
	if(ag.cid !=(QString)iterc->getID())return;
	for (vector<Score>::iterator iter = scr.begin(); 
	iter < scr.end(); iter++) 
	    if(ag.sid == (QString)iter->getSID() && ag.cid == (QString)iter->getCID())
		return;
	Score s(ag.sid,ag.cid,ag.grade);
	scr.push_back(s);
	lvi = new QListViewItem(listView3);
	lvi->setText(0,ag.sid);
	lvi->setText(1,ag.cid);
	lvi->setText(2,QString::number(ag.grade,'f',1));
	listView3->insertItem(lvi);
    }
}


void Form1::ShowAllScore()
{
    static QListViewItem *lvi;
    listView3->clear();
    for (vector<Score>::iterator iter = scr.begin(); 
	iter < scr.end(); iter++) {
	    lvi = new QListViewItem(listView3);
	    lvi->setText(0,(QString)iter->getSID());
	    lvi->setText(1,(QString)iter->getCID());
	    lvi->setText(2,QString::number(iter->getgrade(),'f',1));
	    listView3->insertItem(lvi);
	}
}


void Form1::pageChanged()
{
    switch(tabWidget1->currentPageIndex()){
    case 0:
	listView1->clear();break;
    case 1:
	listView2->clear();break;
    case 2:
	listView3->clear();break;
    case 3:
	listView4->clear();break;
    case 4:
	listView5->clear();break;
    }
}


void Form1::ModifyScore()
{
     if(listView3->currentItem() != NULL)
    {
	QListViewItem *t = listView3->currentItem();
	for (vector<Score>::iterator iter = scr.begin(); 
	iter < scr.end(); iter++) {
	    if(t->text(0) == (QString)iter->getSID() && t->text(1) == (QString)iter->getCID()){
		ShowAddSForm();
		ag.pushButton156->setEnabled (false);
		ag.pushButton169->setEnabled(true);
		ag.lineEdit103->setText((QString)iter->getSID());
		ag.lineEdit104->setText((QString)iter->getCID());
		ag.lineEdit105->setText(QString::number(iter->getgrade(),'f',1));
		break;
	    }
	} 
    }
}


void Form1::ShowAddSForm()
{
    ag.show();
}


void Form1::ShowModifyScore()
{
    QListViewItem *t = listView3->currentItem();
    for (vector<Score>::iterator iter = scr.begin(); 
    iter < scr.end(); iter++) {
	if(t->text(0) == (QString)iter->getSID() && t->text(1) == (QString)iter->getCID()){
	    iter->setSID(ag.sid);
	    iter->setCID(ag.cid);
	    iter->setgrade(ag.grade);
	    t->setText(0,(QString)ag.sid);
	    t->setText(1,(QString)ag.cid);
	    t->setText(2,QString::number(ag.grade,'f',1));
	    break;
	}
    }
}


void Form1::StudentStat()
{
    static QListViewItem *lvi;
    listView4->clear();
    for (vector<Student>::iterator iter = stu.begin(); 
    iter < stu.end(); iter++){
	lvi = new QListViewItem(listView3);
	lvi->setText(0,(QString)iter->getID());
	lvi->setText(1,(QString)iter->getname());
	double tmp=0;
	double ptotal=0;
	for(vector<Score>::iterator iters = scr.begin(); 
	iters < scr.end(); iters++){
	    if(iter->getID() == iters->getSID()){
		for (vector<Course>::iterator iterc = crs.begin(); 
		iterc < crs.end(); iterc++){
		    if(iters->getCID() == iterc->getID()){
			tmp+=(iters->getgrade()*iterc->getpoint());
			ptotal+=iterc->getpoint();
		    }
		}
	    }
	}
	lvi->setText(2,QString::number(tmp/ptotal,'f',1));
	listView4->insertItem(lvi);
    }
    listView4->setSorting(2,true);
}


void Form1::CourseStat()
{
    static QListViewItem *lvi;
    listView5->clear();
    for (vector<Course>::iterator iterc = crs.begin(); 
    iterc < crs.end(); iterc++){
	lvi = new QListViewItem(listView4);
	lvi->setText(0,(QString)iterc->getID());
	lvi->setText(1,(QString)iterc->getname());
	double tmp=0;
	double pass=0;
	double total=0;
	for(vector<Score>::iterator iters = scr.begin(); 
	iters < scr.end(); iters++){
	    if(iterc->getID() == iters->getCID()){
		for(vector<Student>::iterator iter = stu.begin(); 
		iter < stu.end(); iter++){
		    if(iter->getID() == iters->getSID()){
			tmp+=iters->getgrade();
			total++;
			if(iters->getgrade()>=60)pass++;
		    }
		}
	    }
	}
	lvi->setText(2,QString::number(tmp/total,'f',1));
	lvi->setText(3,QString::number(pass/total*100,'f',1));
	listView5->insertItem(lvi);
    }
}


⌨️ 快捷键说明

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