📄 mainform.ui.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 + -