用QT制作一个用来查询银行员工的可视化界面
时间: 2024-02-24 17:57:21 浏览: 60
好的,下面是一个用QT制作查询银行员工的可视化界面的示例代码。在这个示例中,我们将使用MySQL数据库来存储和查询员工信息。你需要先安装MySQL数据库,并创建一个名为“bank”的数据库和一个名为“employee_info”的表格,其中包含员工的姓名、年龄、性别、工资和所在部门等信息。
首先,我们需要在QT Designer中创建一个可视化界面。在这个界面中,我们需要添加一些控件,例如QLineEdit、QComboBox、QPushButton和QTableView等。在右侧的属性编辑器中,设置这些控件的属性,例如位置、文字和大小等。
然后,在C++代码中,我们需要连接到MySQL数据库,并执行查询操作。在这个示例中,我们将使用QSqlQueryModel类来执行查询,然后将结果显示在QTableView控件中。
下面是示例代码:
```cpp
#include <QApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlQueryModel>
#include <QTableView>
#include <QVBoxLayout>
#include <QWidget>
#include <QLineEdit>
#include <QComboBox>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建一个QWidget窗口
QWidget window;
window.setWindowTitle("银行员工信息查询");
// 创建一个QLineEdit控件,用于输入查询条件
QLineEdit *nameLineEdit = new QLineEdit(&window);
nameLineEdit->setPlaceholderText("输入姓名");
// 创建一个QComboBox控件,用于选择部门
QComboBox *departmentComboBox = new QComboBox(&window);
departmentComboBox->addItem("全部部门");
departmentComboBox->addItem("财务部");
departmentComboBox->addItem("人事部");
departmentComboBox->addItem("市场部");
// 创建一个QPushButton控件,用于执行查询操作
QPushButton *queryButton = new QPushButton("查询", &window);
// 创建一个QTableView控件,用于显示查询结果
QTableView *tableView = new QTableView(&window);
// 创建一个垂直布局,并添加控件
QVBoxLayout *layout = new QVBoxLayout(&window);
layout->addWidget(nameLineEdit);
layout->addWidget(departmentComboBox);
layout->addWidget(queryButton);
layout->addWidget(tableView);
// 创建一个SQL连接
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("bank");
db.setUserName("root");
db.setPassword("password");
bool ok = db.open();
// 创建一个QSqlQueryModel,用于执行查询操作
QSqlQueryModel *model = new QSqlQueryModel();
tableView->setModel(model);
// 执行查询操作
connect(queryButton, &QPushButton::clicked, [&]() {
QString name = nameLineEdit->text();
QString department = departmentComboBox->currentText();
QString sql = "SELECT * FROM employee_info WHERE 1=1";
if (!name.isEmpty()) {
sql += QString(" AND name='%1'").arg(name);
}
if (department != "全部部门") {
sql += QString(" AND department='%1'").arg(department);
}
model->setQuery(sql);
});
// 显示窗口
window.show();
return a.exec();
}
```
这是一个简单的示例,你可以根据自己的需要进行修改和扩展。希望能帮助到你!
阅读全文