FTP文件管理项目 项目日报(四)

FTP文件管理项目 项目日报(四)

  • 进度详情
  • 项目技术点总结
  • 总结

进度详情

1.由于这两天有点事,进度延时了一些,接下来再做协议发包
2.目前做的Qt界面的优化过程,添加下拉框,本地服务器保存数据,本来想实现QQ的下拉框类型的,比较复杂,个人能力有限,暂时无法完成
3.遇到的问题:对于下拉框,判断Qcombox控件的响应事件(鼠标左键还是右键暂时还没解决)
思路:1.可以重写控件,但是继承Qcombox不知道怎么实现加入窗口
2.不知道是否可以实现事件的反馈

项目技术点总结

// 数据库单例类遇到
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work的错误
原来:
	db = QSqlDatabase::addDatabase("QSQLITE");
解决:
if(QSqlDatabase::contains("qt_sql_default_connection"))
   db = QSqlDatabase::database("qt_sql_default_connection");
else
   db = QSqlDatabase::addDatabase("QSQLITE");
2.对于combox控件的初步认识
//combox可以添加编辑框内容
combox_name->lineEdit();
//实现下拉框最大数控制
combox_name->setMaxVisibleItems(3);
//改变下拉框形状
combox_name->setView(new QListView());
combox_name->setStyleSheet("QComboBox { min-height: 30px; min-width: 60px; }"
"QComboBox QAbstractItemView::item { min-height: 30px; min-width: 60px; }" );
3.connect的信号机制的好用:currentIndexChanged(int)举例,
可以通过写槽函数(int)去接受触发的事件值,其他相应的信号一样举例
4.认识map容器,用const在删除遇到问题
 QMap<QString, int> map;
 QMap<QString, int>::const_iterator i = map.find("HDR");
 while (i != map.end() && i.key() == "HDR") {
     cout << i.value() << endl;
     ++i;
 }
 const知道值是很初始化很难去改变
 QMap<int, QString>::iterator k2 = map.begin();删除可能需要去掉const
 

总结

1.虽然做的不是很好,但是得话至少动手了,收获上还是有的,就是知识面可能不是很广,遇到的问题很多都会浪费挺多的时间
2.慢慢积累吧,不积跬步无以至千里,共同努力吧!

你可能感兴趣的:(qt,ftp)