#include "autowidget.h"
#include "ui_autowidget.h"
#include<QSqlRecord>
#include <QMessageBox>
#include <QtSql>
class ReadOnlyDelegate: public QItemDelegate
{
public:
ReadOnlyDelegate(QWidget *parent = NULL):QItemDelegate(parent)
{}
QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
const QModelIndex &index) const override //final
{
Q_UNUSED(parent)
Q_UNUSED(option)
Q_UNUSED(index)
return NULL;
}
};
autoWidget::autoWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::autoWidget)
{
ui->setupUi(this);
QPalette pal = this ->palette();
pal.setBrush(QPalette::Background,QBrush(QPixmap("C:/Users/haha/Desktop/1244706.jpg")));
setPalette(pal);
setWindowTitle(tr("管理员界面"));
QSqlDatabase db4 = QSqlDatabase::addDatabase("QMYSQL","D");//添加mysql数据库
db4.setHostName("localhost"); //主机名或IP地址
db4.setDatabaseName("jiajiao"); //使用的数据库名字
db4.setUserName("root"); //用户名
db4.setPort(3306); //端口号
db4.setPassword("asd6769380180");
if(!db4.open())
{
QMessageBox::warning(this,"error","数据库连接失败");
}
}
void autoWidget::setStumodel()
{
ReadOnlyDelegate* readOnlyDelegate;
readOnlyDelegate = new ReadOnlyDelegate();
QSqlQuery query;
//ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
stumodel = new QSqlTableModel(this,QSqlDatabase::database());
stumodel->setTable("student");
ui->tableView->setModel(stumodel);
stumodel->setEditStrategy(QSqlTableModel::OnManualSubmit);
ui->tableView->setItemDelegateForColumn(0, readOnlyDelegate);
stumodel->setHeaderData(0,Qt::Horizontal,"学生号");
stumodel->setHeaderData(1,Qt::Horizontal,"姓名");
stumodel->setHeaderData(2,Qt::Horizontal,"用户名");
stumodel->setHeaderData(3,Qt::Horizontal,"密码");
stumodel->setHeaderData(4,Qt::Horizontal,"性别");
stumodel->setHeaderData(5,Qt::Horizontal,"年龄");
stumodel->setHeaderData(6,Qt::Horizontal,"年级");
stumodel->setHeaderData(7,Qt::Horizontal,"住址");
stumodel->setHeaderData(8,Qt::Horizontal,"电话");
stumodel->setHeaderData(9,Qt::Horizontal,"邮箱");
stumodel->select();
}
void autoWidget::setTeamodel()
{
ReadOnlyDelegate* readOnlyDelegate;
readOnlyDelegate = new ReadOnlyDelegate();
//ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
teamodel = new QSqlTableModel(this,QSqlDatabase::database());
teamodel->setTable("teacher");
ui->tableView_2->setModel(teamodel);
teamodel->setEditStrategy(QSqlTableModel::OnManualSubmit);
ui->tableView_2->setItemDelegateForColumn(0, readOnlyDelegate);
teamodel->setHeaderData(0,Qt::Horizontal,"教师号");
teamodel->setHeaderData(1,Qt::Horizontal,"姓名");
teamodel->setHeaderData(2,Qt::Horizontal,"用户名");
teamodel->setHeaderData(3,Qt::Horizontal,"密码");
teamodel->setHeaderData(4,Qt::Horizontal,"性别");
teamodel->setHeaderData(5,Qt::Horizontal,"年龄");
teamodel->setHeaderData(6,Qt::Horizontal,"住址");
teamodel->setHeaderData(7,Qt::Horizontal,"毕业学校");
teamodel->setHeaderData(8,Qt::Horizontal,"电话");
teamodel->setHeaderData(9,Qt::Horizontal,"邮箱");
teamodel->select();
}
void autoWidget::setClassmodel()
{
classmodel = new QSqlTableModel(this,QSqlDatabase::database());
classmodel->setTable("class");
ui->tableView_3->setModel(classmodel);
ui->tableView_3->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui->tableView_3->setSelectionBehavior(QAbstractItemView::SelectRows);
classmodel->setHeaderData(0,Qt::Horizontal,"课程号");
classmodel->setHeaderData(1,Qt::Horizontal,"教工号");
classmodel->setHeaderData(2,Qt::Horizontal,"教师姓名");
classmodel->setHeaderData(3,Qt::Horizontal,"课程描述");
classmodel->setHeaderData(4,Qt::Horizontal,"学生号");
classmodel->setHeaderData(5,Qt::Horizontal,"学生姓名");
classmodel->setHeaderData(6,Qt::Horizontal,"价格");
classmodel->setHeaderData(7,Qt::Horizontal,"审核结果");
classmodel->select();
}
autoWidget::~autoWidget()
{
delete ui;
}
void autoWidget::on_studentManage_clicked()
{
ui->tabWidget->setCurrentWidget(ui->tab);
}
void autoWidget::on_teacherManage_clicked()
{
ui->tabWidget->setCurrentWidget(ui->tab_2);
}
void autoWidget::on_studentAdd_clicked()
{
QSqlQuery query(QSqlDatabase::database());
QString a="select max(ID) from student";
query.exec(a);
query.next();
int id=query.value(0).toInt();
QSqlRecord record = stumodel->record();//获取空记录
int row = stumodel->rowCount();
record.setValue(0,id+1);
stumodel ->insertRecord(row,record);
}
void autoWidget::on_studentDelete_clicked()
{
QItemSelectionModel *sMode= ui->tableView->selectionModel();
QModelIndexList list = sMode->selectedRows();
for(int i =0;i<list.size();i++)
{
stumodel->removeRow(list.at(i).row());
}
}
void autoWidget::on_studentSure_clicked()
{
stumodel->submitAll();
}
void autoWidget::on_studentCancel_clicked()
{
stumodel->revertAll();
stumodel->submitAll();
}
void autoWidget::on_teacherAdd_clicked()
{
QSqlQuery query(QSqlDatabase::database());
QString a="select max(TID) from teacher";
query.exec(a);
query.next();
int id=query.value(0).toInt();
QSqlRecord record = teamodel->record();//获取空记录
int row = teamodel->rowCount();
record.setValue(0,id+1);
teamodel ->insertRecord(row,record);
}
void autoWidget::on_teacherDelete_clicked()
{
QItemSelectionModel *sMode= ui->tableView_2->selectionModel();
QModelIndexList list = sMode->selectedRows();
for(int i =0;i<list.size();i++)
{
teamodel->removeRow(list.at(i).row());
}
}
void autoWidget::on_teacherSure_clicked()
{
teamodel->submitAll();
}
void autoWidget::on_teacherCancel_clicked()
{
teamodel->revertAll();
teamodel->submitAll();
}
void autoWidget::on_classManage_clicked()
{
ui->tabWidget->setCurrentWidget(ui->tab_3);
}
void autoWidget::on_stuButton_clicked()
{
QString stuId = ui->stuIdEdit->text();
QString str = QString(" ID='%1'").arg(stuId);
stumodel->setFilter(str);
stumodel->select();
}
void autoWidget::on_stuButton_2_clicked()
{
QString stuname = ui->stuNameEdit_2->text();
QString str = QString("sName ='%1'").arg(stuname);
stumodel->setFilter(str);
stumodel->select();
}
void autoWidget::on_pushButton_clicked()
{
stumodel->setFilter("");
stumodel->select();
}
void autoWidget::on_stuButton_3_clicked()
{
QString id = ui->teaIdEdit->text();
QString str = QString("TID ='%1'").arg(id);
teamodel->setFilter(str);
teamodel->select();
}
void autoWidget::on_stuButton_4_clicked()
{
QString teaName = ui->teaNameEdit->text();
QString str = QString("tName ='%1'").arg(teaName);
teamodel->setFilter(str);
teamodel->select();
}
void autoWidget::on_pushButton_2_clicked()
{
teamodel->setFilter("");
teamodel->select();
}
void autoWidget::on_pushButton_3_clicked()
{
QString str = QString("tag = 1");
classmodel->setFilter(str);
classmodel->select();
}
void autoWidget::on_pushButton_4_clicked()
{
QString str = QString("tag != 1");
classmodel->setFilter(str);
classmodel->select();
}
void autoWidget::on_pushButton_9_clicked()
{
classmodel->setFilter("");
classmodel->select();
}
void autoWidget::on_pushButton_5_clicked()
{
int number;
QItemSelectionModel *sMode= ui->tableView_3->selectionModel();
QModelIndexList list = s
评论0
最新资源