-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfindstaffdialog.cpp
98 lines (86 loc) · 3.46 KB
/
findstaffdialog.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include "findstaffdialog.h"
#include "ui_findstaffdialog.h"
#include "addpersondialog.h"
#include <QtSql>
#include <QString>
#include <QDebug>
#include <QPainter>
#include <QTranslator>
extern bool language_en;
QString changeUid;
bool changeStaff = false;
FindStaffDialog::FindStaffDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::FindStaffDialog)
{
ui->setupUi(this);
this->setFixedSize(this->width(), this->height());
showStaff();
ui->tableStaff->setEditTriggers(QAbstractItemView::NoEditTriggers);//不能编辑内容
ui->tableStaff->setSelectionBehavior(QAbstractItemView::SelectRows);//选定一行
connect(ui->tableStaff,SIGNAL(cellDoubleClicked(int,int)),this,SLOT(getItem(int,int)));
if(language_en){
QTranslator translator;
translator.load(":language/qzher_en.qm");
qApp->installTranslator(&translator);
ui->retranslateUi(this);
}
}
FindStaffDialog::~FindStaffDialog()
{
delete ui;
}
void FindStaffDialog::paintEvent(QPaintEvent*){
QPainter painter(this);
QPixmap pix;
pix.load(":/IconPic/pic/backimage.jpg");//图片的位置
painter.drawPixmap(0,0,this->width(),this->height(),pix);//根据窗口的宽高来将图片画在窗口上
}
void FindStaffDialog::showStaff(){
QSqlQuery query;
query.exec("SELECT uid, userName, tele, sex, status, power FROM staff");
for (int i = 0;query.next(); i++) {
int RowCont;
RowCont=ui->tableStaff->rowCount();
ui->tableStaff->insertRow(RowCont);//增加一行
ui->tableStaff->setItem(i,0,new QTableWidgetItem(query.value("uid").toString()));
ui->tableStaff->setItem(i,1,new QTableWidgetItem(query.value("userName").toString()));
ui->tableStaff->setItem(i,2,new QTableWidgetItem(query.value("tele").toString()));
ui->tableStaff->setItem(i,3,new QTableWidgetItem(query.value("sex").toString()));
ui->tableStaff->setItem(i,4,new QTableWidgetItem(query.value("status").toString()));
ui->tableStaff->setItem(i,5,new QTableWidgetItem(query.value("power").toString()));
}
}
void FindStaffDialog::getItem(int row, int col){
changeUid = ui->tableStaff->item(row, 0)->text();
changeStaff = true;
AddPersonDialog chDlg;
close();
chDlg.exec();
}
void FindStaffDialog::search(){
QString staffName = ui->edtStaff->text().trimmed();
int rCount = ui->tableStaff->rowCount();
for(int i = 0; i < rCount; i++){
ui->tableStaff->removeRow(0);
}
if(staffName == ""){
showStaff();
}else{
QSqlQuery query;
query.exec(QString("SELECT uid, userName, tele, sex, status, power FROM staff "
"WHERE userName = '%1'").arg(staffName));
for (int i = 0;query.next(); i++) {
int RowCont;
RowCont=ui->tableStaff->rowCount();
ui->tableStaff->insertRow(RowCont);//增加一行
ui->tableStaff->setItem(i,0,new QTableWidgetItem(query.value("uid").toString()));
ui->tableStaff->setItem(i,1,new QTableWidgetItem(query.value("userName").toString()));
ui->tableStaff->setItem(i,2,new QTableWidgetItem(query.value("tele").toString()));
ui->tableStaff->setItem(i,3,new QTableWidgetItem(query.value("sex").toString()));
ui->tableStaff->setItem(i,4,new QTableWidgetItem(query.value("status").toString()));
ui->tableStaff->setItem(i,5,new QTableWidgetItem(query.value("power").toString()));
}
}
ui->edtStaff->clear();
}