第13章 Qt项目实战之信息管理系统
好文章,来自【福优学苑@音视频+流媒体】
第13章 Qt项目实战之信息管理系统
13.1 CRM简介
概念
CRM软件全名是客户关系管理软件(Customer Relationship Management),同时这个软件也可以处理一些数据,包括:客户、产品、关系、销售、财务、等等。
企业客户业务 CRM 的中心是实时客户信息库,它具有先进强大的预构建结构可帮助用户捕获、存储不同类型的信息,然后根据用户的需求进行过滤,实时展示用户所需的信息。 客户信息库的任何数据更新,与其相关的其它信息也会相应地实时自动更新。
企业客户生命周期管理
企业客户的基本信息
企业客户的联系信息
企业客户的兴趣与偏好
企业客户的财务与信用信息
企业客户的交互、问题和行动
企业客户的交易历史与价值
企业客户的营销管理
内容营销
关系营销
社交媒体营销
一对一个性化营销
电子问卷调查
电子邮件营销
搜索引擎营销
企业客户的财务与信用
企业客户业务 CRM 支持记录每个企业客户的财务报告,信用评级以及应收账款信息等。这些信息能帮助您的团队更好地确定报价与选择适当的收款方式,以降低回款风险。
有良好财务状况的客户是价值更高的客户,您可以根据客户的财务信息更准确地识别高价值的客户并寻求长期的合作关系。
13.2 UI设计:巧妙使用Layout
总共两个界面,主界面和信息添加界面。
主界面结构:
左侧:数组件,QTreeWidget
右侧:
右上:按钮(添加、删除)
右下:表格组件,QTableWidget
布局:
主布局: 水平结构,QHorizontalLayout
右侧布局: 垂直结构,QVerticalLayout
信息添加界面:
主布局: QGridLayout
字段结构: QFormLayout
13.3 运行效果
13.4 代码分析
实体model类
class Model
{
public:
Model();
// 成员变量:private
// 成员函数:public
// 参考java的实体类方式:getter、setter
private:
// 定义几个主要字段:客户、产品、单价、数量、备注
QString customer;
QString product;
double unit;
int number;
QString memo;
public://getter,setter
QString getCustomer() {
return customer;
}
void setCustomer(QString customer) {
this->customer = customer;
}
QString getProduct() {
return product;
}
void setProduct(QString product) {
this->product = product;
}
double getUnit() {
return unit;
}
void setUnit(double unit) {
this->unit = unit;
}
int getNumber() {
return number;
}
void setNumber(int number) {
this->number = number;
}
QString getMemo() {
return memo;
}
void setMemo(QString memo) {
this->memo = memo;
}
};
widget.h头文件
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_pushButton_add_clicked();
void on_pushButton_del_clicked();
void on_tableWidget_InfoList_itemDoubleClicked(QTableWidgetItem *item);
protected:
//将窗口大小变化事件
virtual void resizeEvent(QResizeEvent *event) override;
private:
Ui::Widget *ui;
void InitPage();//界面初始化
};
界面初始化代码
// 初始化
void Widget::InitPage()
{
int rowCount = ui->tableWidget_InfoList->rowCount();
ui->tableWidget_InfoList->insertRow(rowCount);
ui->tableWidget_InfoList->setItem(rowCount,0, new QTableWidgetItem( "蜡笔小新" ));
ui->tableWidget_InfoList->setItem(rowCount,1, new QTableWidgetItem( "QT5零基础" ));
ui->tableWidget_InfoList->setItem(rowCount,2, new QTableWidgetItem( QString::number(69.88) ));
ui->tableWidget_InfoList->setItem(rowCount,3, new QTableWidgetItem( QString::number(2 ) ));
rowCount = ui->tableWidget_InfoList->rowCount();
ui->tableWidget_InfoList->insertRow(rowCount);
ui->tableWidget_InfoList->setItem(rowCount,0, new QTableWidgetItem( "黑猫警长" ));
ui->tableWidget_InfoList->setItem(rowCount,1, new QTableWidgetItem( "音视频小白入门宝典" ));
ui->tableWidget_InfoList->setItem(rowCount,2, new QTableWidgetItem( QString::number(99.88) ));
ui->tableWidget_InfoList->setItem(rowCount,3, new QTableWidgetItem( QString::number(2 ) ));
}
好文章,来自【福优学苑@音视频+流媒体】
***【在线视频教程】***