澄粉可以用什么代替可以代替qt loadfromdata

他的其它帖子
没有更多了~~
没有更多了~~
没有更多了~~
基于RFID,QT,MYSQL开发的医疗电子病历系统
没事做,跟着模版随便做了一个电子病历系统,功能很简陋,界面也不太好看,各位大神看到别见怪啊~
功能包括有通过RFID读写器读取S50卡中的卡号把病人详细信息存入数据库、通过RFID读写器读取S50卡把病人的详细信息从数据库中进行读取并显示到QT程序界面上、在QT程序中进行病人信息的查询,包括修改与删除、计费功能(通过读取卡号,可进行对账户的充值与扣费)
随着物联网技术的成熟,物联网可以应用到各方各面,无论家居,农业,医疗等等都可以利用到物联网技术。而物联网技术的核心技术有:应用技术、网络技术和感知技术。我们所设计的系统正正利用了物联网的核心技术:感知技术中的RFID。在以前,病人去医院看病必须带上病历,而纸质不易保存,易潮,易脏。于是我们设计的电子病历既解决了纸质病历的问题,更加在此中增加了结算和电子钱包的功能。
电子病历是高质量,更快捷,更方便的医疗系统,电子病历不仅可以用于病人的随身携带,而且只需要带一张不到20克的卡,就可以不带钱去看医生。电子病历系统更加合理化,信息化,对医院也便于统计和整理病人数据。所以电子病历对医院和病人都有着莫大的好处,电子病历在当今社会是发展趋势。
随身携带:轻便,简单。
电子钱包:预存费用,方便结算。
过往病史:方便医生对症下药,对过往病史、过敏病史清楚了解。
记录病历:写入数据库,节约资源。
用户管理:用户的增加,删除,修改,查询。
余额管理:用户余额的增加与减少。
管理员登陆相关代码:
dialog.h:
#ifndef DIALOG_H
#define DIALOG_H
namespace Ui {
class Dialog : public QDialog
explicit Dialog(QWidget *parent = 0);
~Dialog();
private slots:
void on_login_clicked();
void on_cancel_clicked();
Ui::Dialog *
#endif // DIALOG_H
dialog.cpp
#include "dialog.h"
#include "ui_dialog.h"
#include"QMessageBox"
#include"mainwindow.h"
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
ui->setupUi(this);
Dialog::~Dialog()
void Dialog::on_login_clicked()
if(ui->username->text().trimmed()=="admin" && ui->password->text().trimmed()=="admin")
MainWindow *m=new MainW
m->show();
this->hide();
QMessageBox::critical(this,"error",tr("用户名或密码出错!"));
void Dialog::on_cancel_clicked()
this->close();
RFID读卡界面相关代码:
#define READER_H
//#include "function.h"
#include "function.h"
class Reader
Reader(QWidget *parent);
~Reader();
bool LoadDll();
bool CloseDll();
MF_Read_Func MF_R
MF_Write_Func MF_W
MF_InitValue_Func MF_InitV
MF_Dec_Func MF_D
MF_Inc_Func MF_I
MF_Halt_Func MF_H
MF_Getsnr_Func MF_G
ControlBuzzer_Func ControlB
ControlLED_Func ControlLED;
GetVersionNum_Func GetVersionN
SetSerNum_Func SetSerN
GetSerNum_Func GetSerN
TypeB_Request_Func TypeB_R
TYPEB_SFZSNR_Func TYPEB_SFZSNR;
TypeB_TransCOS_Func TypeB_TransCOS;
UL_Request_Func UL_R
UL_HLRead_Func UL_HLR
UL_HLWrite_Func UL_HLW
ISO15693_Inventory_Func ISO15693_I
ISO15693_Read_Func ISO15693_R
ISO15693_Write_Func ISO15693_W
ISO15693_GetSysInfo_Func ISO15693_GetSysI
ISO15693_Lock_Func ISO15693_L
ISO15693_Select_Func ISO15693_S
ISO15693_WriteAFI_Func ISO15693_WriteAFI;
ISO15693_LockAFI_Func ISO15693_LockAFI;
ISO15693_WriteDSFID_Func ISO15693_WriteDSFID;
ISO15693_LockDSFID_Func ISO15693_LockDSFID;
ISO15693_GetMulSecurity_Func ISO15693_GetMulS
QLibrary *functionL
int DeviceA
reader.cpp
#include "reader.h"
Reader::Reader(QWidget *parent)
DeviceAddress = 0;
functionLib = new QLibrary("function.dll");
if (!LoadDll())
QMessageBox::critical(parent,"Error",QString::fromLocal8Bit("???function.dll???"));
Reader::~Reader()
CloseDll();
bool Reader::LoadDll()
if ( !functionLib->load() )
qDebug()<<"Failed to load function.dll";
qDebug()<<"Succeed to load function.dll";
= (MF_Read_Func)functionLib->resolve("MF_Read");
= (MF_Write_Func)functionLib->resolve("MF_Write");
MF_InitValue
= (MF_InitValue_Func)functionLib->resolve("MF_InitValue");
= (MF_Dec_Func)functionLib->resolve("MF_Dec");
= (MF_Inc_Func)functionLib->resolve("MF_Inc");
= (MF_Halt_Func)functionLib->resolve("MF_Halt");
= (MF_Getsnr_Func)functionLib->resolve("MF_Getsnr");
ControlLED
= (ControlLED_Func)functionLib->resolve("ControlLED");
ControlBuzzer
= (ControlBuzzer_Func)functionLib->resolve("ControlBuzzer");
GetVersionNum
= (GetVersionNum_Func)functionLib->resolve("GetVersionNum");
= (SetSerNum_Func)functionLib->resolve("SetSerNum");
= (GetSerNum_Func)functionLib->resolve("GetSerNum");
TypeB_Request
= (TypeB_Request_Func)functionLib->resolve("TypeB_Request");
TYPEB_SFZSNR
= (TYPEB_SFZSNR_Func)functionLib->resolve("TYPEB_SFZSNR");
TypeB_TransCOS
= (TypeB_TransCOS_Func)functionLib->resolve("TypeB_TransCOS");
ISO15693_Inventory
= (ISO15693_Inventory_Func)functionLib->resolve("ISO15693_Inventory");
ISO15693_Read
= (ISO15693_Read_Func)functionLib->resolve("ISO15693_Read");
ISO15693_Write
= (ISO15693_Write_Func)functionLib->resolve("ISO15693_Write");
ISO15693_GetSysInfo
= (ISO15693_GetSysInfo_Func)functionLib->resolve("ISO15693_GetSysInfo");
ISO15693_Lock
= (ISO15693_Lock_Func)functionLib->resolve("ISO15693_Lock");
ISO15693_Select
= (ISO15693_Select_Func)functionLib->resolve("ISO15693_Select");
ISO15693_WriteAFI
= (ISO15693_WriteAFI_Func)functionLib->resolve("ISO15693_WriteAFI");
ISO15693_LockAFI
= (ISO15693_LockAFI_Func)functionLib->resolve("ISO15693_LockAFI");
ISO15693_WriteDSFID = (ISO15693_WriteDSFID_Func)functionLib->resolve("ISO15693_WriteDSFID");
ISO15693_LockDSFID
= (ISO15693_LockDSFID_Func)functionLib->resolve("ISO15693_LockDSFID");
ISO15693_GetMulSecurity=(ISO15693_GetMulSecurity_Func)functionLib->resolve("ISO15693_GetMulSecurity");
UL_Request
= (UL_Request_Func)functionLib->resolve("UL_Request");
= (UL_HLRead_Func)functionLib->resolve("UL_HLRead");
UL_HLWrite
= (UL_HLWrite_Func)functionLib->resolve("UL_HLWrite");
if(//14443A
MF_InitValue
ControlLED
ControlBuzzer
GetVersionNum
TypeB_Request
TYPEB_SFZSNR
TypeB_TransCOS
ISO15693_Inventory
== NULL ||
ISO15693_Read
ISO15693_Write
== NULL ||
ISO15693_GetSysInfo == NULL ||
ISO15693_Lock
== NULL ||
ISO15693_Select
== NULL ||
ISO15693_WriteAFI
== NULL ||
ISO15693_LockAFI
== NULL ||
ISO15693_WriteDSFID == NULL ||
ISO15693_LockDSFID
== NULL ||
UL_Request
UL_HLWrite
qDebug()<<"Failed to resolve function";
qDebug()<<"Succeed to resolve function";
bool Reader::CloseDll()
if(functionLib)
functionLib->unload();
showsick.h
#ifndef SHOWALLSICK_H
#define SHOWALLSICK_H
namespace Ui {
class ShowAllS
class ShowAllSick : public QDialog
explicit ShowAllSick(QWidget *parent = 0);
~ShowAllSick();
void connectMySql();
private slots:
void on_delete_2_clicked();
void on_update_clicked();
void on_insert_clicked();
void gettotalrecords();
void showdata();
void on_select_clicked();
void on_first_clicked();
void on_next_clicked();
void on_pre_clicked();
void on_last_clicked();
void on_go_clicked();
Ui::ShowAllSick *
QSqlTableModel *
#endif // SHOWALLSICK_H
showsick.cpp
#include "showsick.h"
#include "ui_showsick.h"
showsick::showsick(QWidget *parent) :
QDialog(parent),
ui(new Ui::showsick)
ui->setupUi(this);
//timer read rfid
timer=new QT
connect(timer,SIGNAL(timeout()),this,SLOT(readcardid()));
cardReader = new Reader(this);
connectMySql();
showsick::~ showsick ()
void showsick::on_read_clicked()
if(ui->id->text()=="")
timer->start(1000);
ui->read->setEnabled(false);
query.prepare("select no,sex,intro intro,image from tbl_sick where id=?");
query.addBindValue(ui->id->text());
query.exec();
if(query.next())
ui->no->setText(query.value(0).toString());
ui->sex->setText(query.value(1).toString());
ui->intro->setText(query.value(2).toString());
photo.loadFromData(query.value(3).toByteArray());
ui->img->setPixmap(photo.scaled(ui->img->size()));
void showsick::on_stop_clicked()
timer->stop();
ui->read->setEnabled(true);
//读取卡号
void showsick::readcardid()
unsigned char snr[7];
unsigned char mode =00;
int result = cardReader->UL_Request(mode, snr);
if(result==0)
cardid= (snr[0]<<24) |(snr[1]<<16) | (snr[2]<<8) | (snr[3]);
//根据读出的卡号查询数据
showdata(cardid);
//rfid beer
void showsick::beer()
int freq =20;
int duration = 1;
int result = cardReader->ControlBuzzer(freq, duration, &buffer);}
void showsick::connectMySql()
QSqlDatabase db =QSqlDatabase::addDatabase("QMYSQL"); // becomes the new default connection
db.setUserName("root");//用户名
db.setPassword("root");//密码
db.setHostName("172.16.170.47");
db.setDatabaseName("book");//数据库名
db.setConnectOptions("CLIENT_SSL=1;CLIENT_IGNORE_SPACE=1");//使用SSL
db.setPort(3306);//端口
if(db.open())
QMessageBox::information(this,"open","OK!");
QMessageBox::information(this,"open","False");
void showsick::showdata(unsigned int cardid)
//根据读出的卡号查询数据
query.prepare("SELECT id,no,sex,intro,image FROM tbl_sick WHERE rfidno = ?");
query.addBindValue(QString::number(cardid,16));
query.exec();
while (query.next())
if (query.isNull(0) == false)
//显示病人数据
ui->id->setText(query.value(0).toString());//身份证
ui->no->setText(query.value(1).toString());//姓名
ui->intro->setText(query.value(2).toString());//病症
ui->sex->setText(query.value(3).toString());//性别
//显示病人头像
photo.loadFromData(query.value(3).toByteArray());
ui->img->setPixmap(photo.scaled(ui->img->size()));
qDebug()<<"Query success";
qDebug()<<"Query failed";
显示全部病人信息界面:
showallsick.h
#ifndef SHOWALLSICK_H
#define SHOWALLSICK_H
namespace Ui {
class ShowAllS}
class ShowAllSick : public QDialog
explicit ShowAllSick(QWidget *parent = 0);
~ShowAllSick();
void connectMySql();
private slots:
void on_delete_2_clicked();
void on_update_clicked();
void on_insert_clicked();
void gettotalrecords();
void showdata();
void on_select_clicked();
void on_first_clicked();
void on_next_clicked();
void on_pre_clicked();
void on_last_clicked();
void on_go_clicked();
Ui::ShowAllSick *
QSqlTableModel *
#endif // SHOWALLSICK_H
showallsick.cpp
#include "showallsick.h"
#include "ui_showallsick.h"
#include"sickinfo.h"
#include"updatesickinfo.h"
ShowAllSick::ShowAllSick(QWidget *parent) :
QDialog(parent),
ui(new Ui::ShowAllSick)
ui->setupUi(this);
ui->tableView->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
connectMySql();
tablemodel=new QSqlTableModel(this);
tablemodel->setTable("tbl_sick");
tablemodel->setEditStrategy(QSqlTableModel::OnFieldChange);
tablemodel->select();
tablemodel->removeColumn(8);
tablemodel->setHeaderData(0,Qt::Horizontal,QObject::tr("卡号"));
tablemodel->setHeaderData(1,Qt::Horizontal,QObject::tr("姓名"));
tablemodel->setHeaderData(2,Qt::Horizontal,QObject::tr("身份证号"));
tablemodel->setHeaderData(3,Qt::Horizontal,QObject::tr("性别"));
tablemodel->setHeaderData(4,Qt::Horizontal,QObject::tr("出生日期"));
tablemodel->setHeaderData(5,Qt::Horizontal,QObject::tr("病症"));
tablemodel->setHeaderData(6,Qt::Horizontal,QObject::tr("照片"));
tablemodel->setHeaderData(7,Qt::Horizontal,QObject::tr("余额"));
ui->tableView->setModel(tablemodel);}
ShowAllSick::~ShowAllSick()
void ShowAllSick::connectMySql()
QSqlDatabase db =QSqlDatabase::addDatabase("QMYSQL"); // becomes the new default connection
db.setUserName("root");//用户名
db.setPassword("root");//密码
db.setHostName("172.16.170.47");
db.setDatabaseName("book");//数据库名
db.setConnectOptions("CLIENT_SSL=1;CLIENT_IGNORE_SPACE=1");//使用SSL
db.setPort(3306);//端口
if(!db.open())
QMessageBox::information(this,"open","False");
void ShowAllSick::on_delete_2_clicked()
QItemSelectionModel *selections = ui->tableView->selectionModel();
QModelIndexList selected = selections->selectedIndexes();
int ok = QMessageBox::warning(this,QObject::tr("删除当前行!"),QObject::tr("确定删除当前行?"),
QMessageBox::Yes,QMessageBox::No);
if(ok==QMessageBox::Yes)
foreach (QModelIndex index, selected)
QString no=index.sibling(index.row(),0).data().toString();
query.prepare("delete from tbl_sick where rfidno =?");
query.addBindValue(no);
query.exec();
tablemodel->select();
void ShowAllSick::on_update_clicked()
int curRow = ui->tableView->currentIndex().row();
QModelIndex index = ui->tableView->currentIndex();
globaldata=index.sibling(curRow,2).data().toString();
UpdateSickInfo *updatesickinfo=new UpdateSickI
updatesickinfo->show();}
void ShowAllSick::on_insert_clicked()
SickInfo *sickinfo=new SickI
sickinfo->show();
sickinfo->resize(600,450);
void ShowAllSick::on_select_clicked(){
QString id=ui->id->text().trimmed();
if(id!="")
tablemodel->setFilter(QString("id=%1").arg(id));
tablemodel->select();
tablemodel->setTable("tbl_sick");
tablemodel->select();
void ShowAllSick::gettotalrecords()
query.clear();
query.exec("select count(*) from tbl_sick");
query.next();
totalrecords=query.value(0).toInt();
records=ui->record->text().toInt();
totalpages=(totalrecords%records)?(totalrecords/records)+1:(totalrecords/records);
ui->totalpage->setText("totalpage:"+QString::number(totalpages));}
void ShowAllSick::showdata()
QString strFilter = QString("1=1 LIMIT %1,%2;").arg(0).arg(records);
tablemodel->setFilter(strFilter);
tablemodel->select();
ui->tableView->setModel(tablemodel);
void ShowAllSick::on_first_clicked()
showdata();
ui->page->setText("1");}
void ShowAllSick::on_next_clicked()
page=ui->page->text().trimmed().toInt();
records=ui->record->text().trimmed().toInt();
if(page<totalpages)
QString strFilter = QString("1=1 LIMIT %1,%2;").arg(page*records).arg(records);
tablemodel->setFilter(strFilter);
tablemodel->select();
ui->tableView->setModel(tablemodel);
ui->page->setText(QString::number(page+1));
void ShowAllSick::on_pre_clicked()
page=ui->page->text().trimmed().toInt();
records=ui->record->text().trimmed().toInt();
if(page>1)
QString strFilter = QString("1=1 LIMIT %1,%2;").arg((page-2)*records).arg(records);
tablemodel->setFilter(strFilter);
tablemodel->select();
ui->tableView->setModel(tablemodel);
ui->page->setText(QString::number(page-1));
void ShowAllSick::on_last_clicked(){
records=ui->record->text().trimmed().toInt();
int lastpages=(totalrecords%records)?(totalrecords/records):(totalrecords/records)-1;
QString strFilter=QString("1=1 LIMIT %1,%2").arg((lastpages)*records).arg(records);
tablemodel->setFilter(strFilter);
tablemodel->select();
ui->tableView->setModel(tablemodel);
ui->page->setText(QString::number(lastpages+1));}
void ShowAllSick::on_go_clicked(){
page=ui->page->text().trimmed().toInt();
records=ui->record->text().trimmed().toInt();
totalpages=(totalrecords%records)?(totalrecords/records)+1:(totalrecords/records);
if(page<=totalpages)
QString strFilter=QString("1=1 LIMIT %1,%2").arg((page-1)*records).arg(records);
tablemodel->setFilter(strFilter);
tablemodel->select();
ui->tableView->setModel(tablemodel);
QString strFilter=QString("1=1 LIMIT %1,%2;").arg(0).arg(records);
tablemodel->setFilter(strFilter);
tablemodel->select();
ui->tableView->setModel(tablemodel);
ui->page->setText("1");
ui->totalpage->setText(tr("totalpage:")+QString::number(totalpages));}
增加用户数据:
sickinfo.c
#ifndef SICKINFO_H
#define SICKINFO_H
#include"reader.h"
namespace Ui {
class SickI}
class SickInfo : public QDialog{
explicit SickInfo(QWidget *parent = 0);
~SickInfo();
void beer();
void connectMySql();
private slots:
void on_ok_clicked();
void on_openimage_clicked();
void on_readcard_clicked();
Ui::SickInfo *
QString fileN
Reader *cardR
sickinfo.cpp
#endif // SICKINFO_H
#include "sickinfo.h"
#include "ui_sickinfo.h"
SickInfo::SickInfo(QWidget *parent) :
QDialog(parent),
ui(new Ui::SickInfo){
ui->setupUi(this);
cardReader = new Reader(this);
connectMySql();}
SickInfo::~SickInfo()
//mysql的save
void SickInfo::on_ok_clicked()
QString s="";
s.append(ui->rfidno->text()+"\n");
s.append(ui->no->text()+"\n");
s.append(ui->id->text()+"\n");
s.append(fileName+"\n");
s.append(ui->sex->checkedButton()->text()+"\n");
s.append(ui->birthday->text()+"\n");
s.append(ui->textEdit->toPlainText());
QMessageBox::information(this,tr("infromation"),tr("%1").arg(s));
//读取数据
QString rfidno=ui->rfidno->text().trimmed();
QString no=ui->no->text().trimmed();
QString id=ui->id->text().trimmed();
QString sex=ui->sex->checkedButton()->text().trimmed();
QString birthday=ui->birthday->text();
QString intro=ui->textEdit->toPlainText();
//读取图片数据为二进制数据
QBuffer buffer(&bytes);
buffer.open(QIODevice::WriteOnly);
ui->img->pixmap()->save(&buffer, "PNG");
QFile* file=new QFile(fileName);
file->open(QIODevice::ReadOnly);
data = file->readAll();
file->close();
QVariant var(data);
//mysql的insert操作
query.prepare("insert into tbl_sick(rfidno,no,id,sex,intro,birthday,image) values(?,?,?,?,?,?,?)");
query.addBindValue(rfidno);
query.addBindValue(no);
query.addBindValue(id);
query.addBindValue(sex);
query.addBindValue(intro);
query.addBindValue(birthday);
query.addBindValue(var);
value=query.exec();
QMessageBox::information(this,"adduser","Add user successed!");
QMessageBox::information(this,"adduser","Add user failed!");
void SickInfo::on_openimage_clicked()
fileName = QFileDialog::getOpenFileName(this,
tr("Open File"), QDir::currentPath());
if (!fileName.isEmpty())
QMessageBox::information(this, tr("Image Viewer"),
tr("path: %1.").arg(fileName));
QImage image(fileName);
if (image.isNull())
QMessageBox::information(this, tr("Image Viewer"),
tr("Cannot load %1.").arg(fileName));
//ui->img->setPixmap(QPixmap::fromImage(image));
ui->img->setPixmap(QPixmap(fileName).scaled(ui->img->size()));
void SickInfo::on_readcard_clicked()
unsigned char snr[7];
unsigned char mode =00;
int result = cardReader->UL_Request(mode, snr);
if(result==0)
cardid= (snr[0]<<24) |(snr[1]<<16) | (snr[2]<<8) | (snr[3]);
ui->rfidno->setText(QString::number(cardid,16));
void SickInfo::beer()
int freq =20;
int duration = 1;
int result = cardReader->ControlBuzzer(freq, duration, &buffer);
void SickInfo::connectMySql(){
QSqlDatabase db =QSqlDatabase::addDatabase("QMYSQL"); // becomes the new default connection
db.setUserName("root");//用户名
db.setPassword("root");//密码
db.setHostName("172.16.170.47");
db.setDatabaseName("book");//数据库名
db.setConnectOptions("CLIENT_SSL=1;CLIENT_IGNORE_SPACE=1");//使用SSL
db.setPort(3306);//端口
if(db.open())
QMessageBox::information(this,"open","OK!");
QMessageBox::information(this,"open","False");
更新病人资料:
updatesickinfo.c
#ifndef UPDATESICKINFO_H
#define UPDATESICKINFO_H
#include"reader.h"
namespace Ui {
class UpdateSickI
class UpdateSickInfo : public QDialog
explicit UpdateSickInfo(QWidget *parent = 0);
~UpdateSickInfo();
void connectMySql();
void beer();
private slots:
void on_openimage_clicked();
void on_readcard_clicked();
void on_ok_clicked();
Ui::UpdateSickInfo *
QString fileN
Reader *cardR
#endif // UPDATESICKINFO_H
updatesickinfo.cpp
#include "updatesickinfo.h"
#include "ui_updatesickinfo.h"
UpdateSickInfo::UpdateSickInfo(QWidget *parent) :
QDialog(parent),
ui(new Ui::UpdateSickInfo)
ui->setupUi(this);
cardReader = new Reader(this);
//mysql读数据
query.prepare("select * from tbl_sick where id=?");
query.addBindValue(globaldata);
if(query.exec())
query.next();
ui->rfidno->setText(query.value(0).toString());
ui->no->setText(query.value(1).toString());
ui->id->setText(query.value(2).toString());
ui->birthday->setDateTime(query.value(4).toDateTime());
ui->textEdit->setText(query.value(5).toString());
//显示学生头像
photo.loadFromData(query.value(6).toByteArray());
ui->img->setPixmap(photo.scaled(ui->img->size()));
UpdateSickInfo::~UpdateSickInfo()
//mysql的save
void UpdateSickInfo::on_ok_clicked()
QString s="";
s.append(ui->rfidno->text()+"\n");
s.append(ui->no->text()+"\n");
s.append(ui->id->text()+"\n");
s.append(fileName+"\n");
s.append(ui->sex->checkedButton()->text()+"\n");
s.append(ui->birthday->text()+"\n");
s.append(ui->textEdit->toPlainText());
QMessageBox::information(this,tr("infromation"),tr("%1").arg(s));
//读取数据
QString rfidno=ui->rfidno->text().trimmed();
QString no=ui->no->text().trimmed();
QString id=ui->id->text().trimmed();
QString sex=ui->sex->checkedButton()->text().trimmed();
QString birthday=ui->birthday->text();
QString intro=ui->textEdit->toPlainText();
//读取图片数据为二进制数据
QBuffer buffer(&bytes);
buffer.open(QIODevice::WriteOnly);
ui->img->pixmap()->save(&buffer, "PNG");
QFile* file=new QFile(fileName);
file->open(QIODevice::ReadOnly);
data = file->readAll();
file->close();
QVariant var(data);
//mysql的insert操作
query.prepare("update tbl_sick set rfidno=?,no=?,sex=?,birthday=?,intro=?,image=? where id=?");
query.addBindValue(rfidno);
query.addBindValue(no);
query.addBindValue(sex);
query.addBindValue(birthday);
query.addBindValue(intro);
query.addBindValue(var);
query.addBindValue(id);
value=query.exec();
QMessageBox::information(this,"adduser","update user successed!");
QMessageBox::information(this,"adduser","update user failed!");
void UpdateSickInfo::on_openimage_clicked()
fileName = QFileDialog::getOpenFileName(this,
tr("Open File"), QDir::currentPath());
if (!fileName.isEmpty())
QMessageBox::information(this, tr("Image Viewer"),
tr("path: %1.").arg(fileName));
QImage image(fileName);
if (image.isNull())
QMessageBox::information(this, tr("Image Viewer"),
tr("Cannot load %1.").arg(fileName));
//ui->img->setPixmap(QPixmap::fromImage(image));
ui->img->setPixmap(QPixmap(fileName).scaled(ui->img->size()));
void UpdateSickInfo::on_readcard_clicked()
unsigned char snr[7];
unsigned char mode =00;
int result = cardReader->UL_Request(mode, snr);
if(result==0)
cardid= (snr[0]<<24) |(snr[1]<<16) | (snr[2]<<8) | (snr[3]);
ui->rfidno->setText(QString::number(cardid,16));
void UpdateSickInfo::beer()
int freq =20;
int duration = 1;
int result = cardReader->ControlBuzzer(freq, duration, &buffer);}
void UpdateSickInfo::connectMySql()
QSqlDatabase db =QSqlDatabase::addDatabase("QMYSQL"); // becomes the new default connection
db.setUserName("root");//用户名
db.setPassword("root");//密码
db.setHostName("172.16.170.47");
db.setDatabaseName("book");//数据库名
db.setConnectOptions("CLIENT_SSL=1;CLIENT_IGNORE_SPACE=1");//使用SSL
db.setPort(3306);//端口
if(!db.open())
QMessageBox::information(this,"open","False");
管理者登录页面:
系统首界面:
增加用户资料界面:
RFID读取用户资料界面:
操作全部用户资料界面:
用户充值扣费界面:
大家在关注}

我要回帖

更多关于 寿司醋可以用什么代替 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信