小弟使用的数据库时sqlite,
1条回答 默认 最新
__ever 2015-12-18 08:15关注上代码://学生查询课程模块
student_chack_course::student_chack_course(QWidget *parent)
:QDialog(parent)
{
LineEdit_1=new QLineEdit;
Label_1=new QLabel(tr("请输入关键字:"));
Label_1->setBuddy(LineEdit_1);
button_1=new QPushButton;
button_1->setText(tr("查询"));
button_1->setDefault(true);
button_1->setEnabled(false);
button_2=new QPushButton;
button_2->setText(tr("关闭"));
button_3=new QPushButton;
button_3->setText(tr("另存为"));model=new QSqlRelationalTableModel; model->setTable("course"); model->setSort(0,Qt::AscendingOrder); model->setHeaderData(0,Qt::Horizontal,tr("课程号")); model->setHeaderData(1,Qt::Horizontal,tr("课程名称")); model->setHeaderData(2,Qt::Horizontal,tr("先驱课程")); model->setHeaderData(3,Qt::Horizontal,tr("学分")); model->setHeaderData(4,Qt::Horizontal,tr("上课地点")); model->setHeaderData(5,Qt::Horizontal,tr("上课时间")); model->setRelation(2,QSqlRelation("course","cno","cname")); model->select(); view=new QTableView; view->setModel(model); view->setSelectionMode(QAbstractItemView::SingleSelection); view->setSelectionBehavior(QAbstractItemView::SelectRows); view->resizeColumnsToContents(); view->setItemDelegate(new QSqlRelationalDelegate(view)); QHeaderView *header=view->horizontalHeader(); header->setStretchLastSection(true); connect(button_1,SIGNAL(clicked()),this,SLOT(to_record())); connect(LineEdit_1,SIGNAL(textChanged(const QString &)),this,SLOT(enable_button(const QString &))); connect(button_2,SIGNAL(clicked()),this,SLOT(to_close())); QHBoxLayout *down_layout=new QHBoxLayout; down_layout->addWidget(Label_1); down_layout->addWidget(LineEdit_1); down_layout->addWidget(button_1); down_layout->addWidget(button_2); down_layout->addWidget(button_3); down_layout->addStretch(); QVBoxLayout *mainlayout=new QVBoxLayout; mainlayout->addWidget(view); mainlayout->addLayout(down_layout); setLayout(mainlayout); this->setFixedSize(500,400);}
void student_chack_course::enable_button(const QString &text)//有内容输入时,查询--按钮--被--激--活
{
button_1->setEnabled(!text.isEmpty());
}void student_chack_course::to_close()//关闭按钮实现
{
this->close();
}void student_chack_course::to_record()//模糊匹配
{
model->setFilter(tr("cname='%1'").arg(QString("like %")+LineEdit_1->text()+QString("%")));
model->select();}
解决 无用评论 打赏 举报