2020.01.29
Note1
今天在AppWishList
开发中遇到这个错误:
1 | 'builtin_function_or_method' object is not subscriptable |
错误原因是将”()
“写成了”[]
“。
1 | ... |
Note2
在pythonista
的ui
模块中,如果将函数包装成@ui.in_background
,将在后台线程中运行,但是如果在构造函数中调用它,数据就会初始化失败,无论是在函数中赋值还是返回值都为None
。
Note3
在pythonista
中使用webbroswer
调用Safai
打开链接的语句是:
1 | webbroswer.open("safari-") |
Note4
python
当要调用比自己上层的模块的时候,使用如下方法:
1 | AppWishList |
1 |
|
2020.01.30
Note5
在ui
中重载View
的layout
方法,将会在窗口尺寸旋转改变的时候被调用:
1 | # coding: utf-8 |
Note6
之前TableView
一直遇到个问题,总有两行在最下面划不出来,结果是TableView
尺寸设大了,超出了屏幕。
Note7
当你需要在NavigateView
的Head Bar
插入ButtonItem
时,你需要选择当前NavigateView
栈顶的View
,而不是NavigateView
对象本身。
Note8
当使用Button
的时候注意区分属性image
和background_image
,前者只显示形状和单一颜色,可通过tint_color
进行设定;而后者是一个使用Image.resizable_image
创建的可伸缩图片。
ButtonItem
仅有image
属性。
Note9
错误异常代码:
1 | IndentationError: unexpected indent |
错误原因是缩进格式对其错误。我这里遇到偶的情况是把try语句的except注释了,但是又没有写finally,解决方案如下:
1 | try: |
2020.01.31
Note10
从matplotlib.figure到numpy、PIL.Image、ui.Image之间的转换:
1 | import ui |
Note11
python
字符串和时间格式(datetime
)相互转换:
2019-03-17 11:00:00
格式转化
1 | import datetime |
输出:
1 | 2019-03-17 11:00:00 <class 'datetime.datetime'> |
20190616
格式转化
1 | # str转时间格式: |
Note12
获取一个时间段以内的datetime
对象:
1 | from datetime import datetime, timedelta |
2020.03.28
Note13
今天想给AppTabelView中的每个app栏目加上收藏和自动更新按钮。一开始在每一个cell创建的时候都调用ui.Image.named()
函数给按钮加上图片,结果大量的图片文件io读写导致程序卡顿不稳定,严重的时候甚至崩溃闪退。因为都是同样的图片,所以采用直接在页面初始化的时候读入两个图片对象进行维护,在之后创建cell的时候直接将现有对象赋值给background_image
就没事了。
2020.03.29
Note14
为了把应用列表iPhone竖频模式下的应用图标缩小,一开始打算采用将ui.Image
转换为PIL.Image
,然后使用PIL的resize()
函数,再转换回ui.Image
。结果该方案不但PIL压缩出来效果不好,在数据之间的大量转换操作也导致系统卡顿。最终采用ui.ImageContext
和ui.Image.draw()
的方法进行尺寸修改,既保证了缩放质量效果,又保证了运算效率。