界面项目第一阶段
基本实现了规划中的功能。从决定做到搭出框架花了一天,从有框架到基本实现功能花了一天半,之后休息看书打球了一天,收尾花了大半天。期间效率还是不错的,代码量并不大,整个写下来有581行,写到400行的时候大改过一次,当时压缩到了二百多行。因为基本上是陌生的东西,能够在一周之内完成还是比较满意的。
做界面的选择很多,我选择了pyqt5,其实在国内pyqt5的资料很少,很不适合入门选手,适合熟悉qt喜欢python的人用…为什么不用qt呢?可能是为了逃避C++吧(我就看看你能逃避到什么时候)希望qt可以作为我面对C++的一个契机,早日脱离C+STL的水平。
界面部分基本实现了,当前重心是和计算部分交互,这部分代码是拿Fortran写的…我查过很多混合编译的资料,Fortran和Python采用f2py库混合编程效果并不是很理想。原作者用Fortran来写主要是看重Fortran当中许多科学计算的子程序,这当中已有相当一部分被改写进NumPy库中。Fortran的语法并不困难,作者的注释很棒,大概写了两千三百行,其中实际用到的代码约有一千五百行,因此,我决定将计算部分的代码改写为python代码。不仅仅是为了界面交互,更是为了帮计算部分实现更加复杂的逻辑。为了达到这一目的,我不仅仅要学习fortran,更要了解计算部分的各项细节。虽然Fortran的语法并不难,了解一门编程语言对我来说没有很大的困难,但是…这毕竟是在我意料之外的…希望能早日完成吧。
能接触到Fortran这门神奇的语言实属巧合,为了了解代码迁移的可能性,我去看了一些评价,发现现在还有很多很多传统学科的实验室都在应用这种语言,而且有很多祖传的可读性很差却效率极高的子程序,被科研界广泛沿用。
昨天是很特别的一天,去校篮球队试训,晚上回来又看了篮球世界杯中国对波兰的紧张对决。打球真的好辛苦啊啊啊啊啊,训练完怀疑第二天能不能起来,结果第二天好像还好。打完球的我心如止水,只想写代码。记得中学时候军训,旁边那个优秀的小姐姐一边蹲姿一边默默流泪,完了跟我说:”每次军训的时候,就想着,我还是回去读书好了…“ 昨天打完球,我只想说,我再也不在学习的时候想着教练我想打篮球了。好处就是,经过游泳和篮球的锻炼,好像壮实一点啦。
我有很多个机会可以打好篮球,可是我都没有做出那样的选择。对于初中之后的我来说,运动只是生活中的调剂,放下吧。
接下来的事情就真的是工作性质诶!真的该好好考虑如何平衡工作、学习、运动、生活、家庭啦。人生的每一个阶段想要的东西不能太多,静下心来看看书吧。
那些踩过的坑
项目初期还有心情记录一下get到的东西,后来就不太记了,也没有整理,挂上来作为以后的备份吧。
pip装库,记得以管理员身份运行cmd
C:\WINDOWS\system32>
布局
盒布局、弹性元素
忘了安装路径
输入 import sys
输入 print(sys.path)
列表中的第四个将是你的安装路径
将ui文件转换为py文件
cmd中打开1.ui所在路径:cd C:/work
然后输入pyuic5 -o 1.py 1.ui
python全局变量
global声明
按钮的排他性
button1.setAutoExclusive(True)
嵌套布局
https://www.cnblogs.com/hhh5460/p/5173846.html
必须躺在空widget里
配合工具canvas画图
忘了细节
隐藏子窗口
1 | a.setVisible(False) |
分区
该做的事情早晚得做
布局
主要是嵌套布局上的一些技巧
时常找不到对象在哪
打算什么时候补补python的基础鸭?
关于画图的尝试
1 | #coding:utf-8 |
画图问题解决啦
调用整个库
from numpy import *
字体
setFont
初始比例
Python 混合编译
解耦和!解耦和!解耦和!
还不如我都用python写…
python脚本 to exe
句子
高德纳:“过早的优化是万恶之源”
自动换行
先自定义一个很长的字符串,否则不会实现自动换行
1 | self.tailLable.setText(u' ') |
开发者日志
2019.9.3 最后完成了参数设置子窗口,开始看fortran部分
2019.9.2 实现了文件选择,基本实现协议中的功能。
考虑fortran与Python的参数传递,打算拿python重写fortran…
2019.9.1 实现了绘图
2019.8.31 按钮排他性
2019.8.30 开始此项目界面部分,有个样子了
To be continued