• 11969阅读
  • 15回复

《Qt实战小项目》6,简易客户信息管理系统 [复制链接]

上一主题 下一主题
离线逆风微光
 

图酷模式  只看楼主 倒序阅读 楼主  发表于: 2018-05-20
这是我的CSDN博客专栏《Qt实战小项目》的系列文章第6篇。
专栏地址:https://blog.csdn.net/dpsying/category_9267660.html

目前专栏内有这些文章:
QT项目一:俄罗斯方块游戏
QT项目二:五子棋游戏
QT项目三:中国象棋
QT项目四:扫雷游戏
QT项目五--计算器
QT项目六:简易客户信息管理系统




1,简介


刚与几位朋友合伙创业那会,因为我在公司负责软件,销售问我有没有什么软件可以管理他的客户信息,不用太复杂。
我了解了一下具体需求,就是可以把客户按照地域、类型等进行分类,然后存储一些基本信息,比如名称、地址、联系人信息、采购情况等,可以增删、搜索。
我说现成的有些软件太臃肿也不一定适合,我给你写一个吧
他问我多久,太麻烦就算了,我说没事一天应该可以写出来
哎这牛皮吹的,说只要一天,搞不完不好意思啊,我硬是一个人加班加点到凌晨3点给弄出来了




2,效果








窗口高度刚好把地域全部覆盖,省得拖滚动条;
三种过滤方式:点击tree里的节点按地域过滤、在筛选的combobox里按单位类型过滤、在搜索里按关键字过滤;

数据使用sqlite存储;
按钮增加、删除记录;
双击一行进行修改;




3,一些设计思路


左侧的地域树,因为都是固定信息,直接用一个QTreeWidget在UI设计器把内容填好了。
中间使用QTableView显示记录。
数据使用程序exe目录下的crm.db文件,sqlite,没有就创建。
数据过滤:开始准备用代理model,后来觉得直接根据过滤条件刷新model就完了,数据量也不大不考虑效率问题
其中关键字过滤需要把所有列的内容都匹配下。

4,源码


源码已上传至群文件,可在学习群免费下载
群号码:1149411109
群名称:Qt实战派学习群






在线nigoole

只看该作者 1楼 发表于: 2018-05-20
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线dpsying

只看该作者 2楼 发表于: 2018-05-20
回 nigoole 的帖子
nigoole:[表情] [表情]  (2018-05-20 21:25) 

谢谢!
在线toby520

只看该作者 3楼 发表于: 2018-05-21
      
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线liuchangyin

只看该作者 4楼 发表于: 2018-05-21
离线逆风微光

只看该作者 5楼 发表于: 2018-05-25
回 toby520 的帖子
toby520:[表情]  [表情]  [表情]  [表情]  (2018-05-21 08:46) 

哈哈 大神来了
离线逆风微光

只看该作者 6楼 发表于: 2018-05-25
回 liuchangyin 的帖子
liuchangyin:[表情]  (2018-05-21 09:39) 

谢谢支持!
离线edwalik

只看该作者 7楼 发表于: 2018-08-14
离线edwalik

只看该作者 8楼 发表于: 2018-08-14
项目6客户管理系统代码中有个小bug,mainwindow.cpp中MainWindow::on_btnDelete_clicked,删除信息前要判断当前行的位置,


void MainWindow::on_btnDelete_clicked()
{
//    int row = ui->treeView->currentIndex().row();
    int row = ui->tableView->currentIndex().row();

    if (row<0)//判断当前行号,如果不判断,下面DeleteItem可能会报错
    {
        return;
    }

    QString name = mModel->item(row,0)->text();
    DeleteItem(name);

    mModel->removeRow(row);

    DeleteFromDb(name);
}
离线abbcontrol

只看该作者 9楼 发表于: 2018-08-15
赞!谢谢分享~
离线逆风微光

只看该作者 10楼 发表于: 2018-08-16
回 edwalik 的帖子
edwalik:项目6客户管理系统代码中有个小bug,mainwindow.cpp中MainWindow::on_btnDelete_clicked,删除信息前要判断当前行的位置,
void MainWindow::on_btnDelete_clicked()
{
....... (2018-08-14 09:39) 

很细心!谢谢指正
离线小z_001

只看该作者 11楼 发表于: 2018-08-21
离线laixiaoqi

只看该作者 12楼 发表于: 2018-08-22
离线lzhh55

只看该作者 13楼 发表于: 2019-01-03
项目很好,源码能打开,正在研究中,谢谢楼主!
离线lzhh55

只看该作者 14楼 发表于: 2019-01-03
下载,用了下,确实很好,对初学很有帮助!
离线xld_my

只看该作者 15楼 发表于: 2019-04-14
赞,谢过大神,对初学者有很好的帮助
快速回复
限100 字节
 
上一个 下一个