Python学习笔记3-信息面板

发布于 2022-02-14  162 次阅读


电子日历开发出来已经十几天了,但是功能我并不是特别的满意,期间我增加了几个主题和随机切换主题的功能

我想开发一个后台的功能,基于flask实现,就是说可以向日历上我留的位置发送信息,或是切换主题等。

当然这是最终完成后的效果,最初我想的就是把做好的HTML后台放进flask,然后直接启动。不过这里的硬件信息实时刷新我折腾了好久,我想加个chart.js,但是ajax刷新没弄好,图表没法刷新,我就想着先这样吧,我是直接用js实现的整个页面5秒刷新一次。想着日后再去慢慢补充。

这里后台的制作还确实花了我一些功夫,登录验证很好办,就直接requests.form获取表单验证就行,但是保存密码我还是花了一些时间去研究,我之前不会用session,最后查阅各路资料,通过存储session实现,并且了解到flask默认的session失效时间是浏览器关闭。

发送消息我就直接用一个表单去实现,同时把几个控制的开关也放进去

现在看起来貌似都是那么的顺利,我只要在原有的基础加入flask以及后台的模板,就可以跑起来了,结果我发现了新的问题。

Flask默认情况没法和QT5共存,if name == 'main':后面先写app.run()的话QT5就不会加载,先写QT5的话flask路由就不会运行。

最后没办法,我把flask和qt5分离成了两个py,真就”前后端分离“,分头行动

听起来很高端,”前后端分离“,人家的前后端分离都是为了提高效率或者运行效率,我的前后端分离纯粹是我不会把前后端放一起,但是这样就有好多问题,前后端分离还得找方法传输信息。后端(pyqt5)向前端(flask)发消息好办,直post或者get发送就行,但是flask向pyqt5发消息我真的不会了。

我想这让pyqt5一秒钟请求一次设置,相当于被动接收消息了,但是这样程序运行几秒就会崩溃,然后我就不会了。。。。。

因为进度到这里的时候已经除夕了,我就想着先不搞了,过个好年,年后再搞。之后的其实都是从初七才开始研究的。本来已经折腾不下去了,但是我突然找到了一篇文章,使用threading多线程让flask和pyqt5共存

的确是实现了,这下完美了,我是卡在前后端分离传输消息那里了,就算是搞定了,接收消息也得(1.web端发送消息到flask------2.flask接收消息传给pyqt5-------3.pyqt5获取消息再去改编QT5内容)要是合在一起还传输什么消息,直接一个全局变量搞定直接web端控制QT5内容。

也算是解决了一个大问题吧,所以打算写篇文章来说,目前的日历进度到这了,UI长这个样子

UI端的改变主要是加了个随机切换主题,还有就是天气接口换成了和风的API,并且使用了和风提供的矢量图标,更加直观。

下一步打算去搞搞一些娱乐功能,不过快要开学了,下学期的课表也出了,要学汇编语言、数字电路和线性代数😒,这个打算先放放了,也要上网课了,提前去预习下课程。

OVER~~~