0958起,0231睡到0949,忘开闹钟,但我确实在享受睡觉。
夜里睡觉的时候想起来昨天一整天都没登明日方舟,我真的是给星痕共鸣害了。其实只是忘了,挂着星痕共鸣自动采集的时候也可以挂maa的。
用flutter写的命令管理器用Process.start(...)
调用powershell.exe -Command & F:/Python/python.exe f:/Code/python/auto_click_f/main.py
执行py脚本
|
|
然而无法这个监听获取py脚本中print的输出。
PowerShell 有可能吞掉输出或延迟转发缓冲区,导致你
listen
不到任何输出。加上 -u:关闭 Python 的输出缓冲。
即使用& F:/Python/python.exe -u f:/Code/python/auto_click_f/main.py
,
Flutter → 启动 powershell.exe → 启动 python.exe
Process.start
是创建子进程,所以父退出的话子也会退出。但GPT讲直接 Process.start('python.exe')
时,有可能 Python 是 console app,不绑定 stdout/stderr
,或Python 启动时没有继承 Job Object(Windows 特性)
,不懂,目前也没这种问题,稍微记一下然后以后再说吧。
方法 | 优点 | 缺点 |
---|---|---|
sys.argv | 更短更简单 | 不够健壮(参数错误难提示) |
argparse | 支持自动帮助信息和提示 | 写起来略复杂 |
用起来其实都麻烦,当需要切换参数的时候。
在 ViewModel(或逻辑层)里监听
process.stdout
的错误时,想用AppSnackbar.showError(context, msg)
来显示错误信息,但context
只在 UI 层(Widget)中有。ViewModel 并不持有BuildContext
,这是 Flutter 架构设计的本意。
哎哟,永远的困境。
✅ 滚轮滑动可以,❌ 鼠标左键按住拖动 ListView 滚动不生效
这个行为在 桌面端 是 Flutter 默认的设计行为 ——
ListView
(或其他Scrollable
)在桌面(Windows/macOS/Linux)平台上,并不会自动支持“鼠标左键拖动滚动内容”的手势行为。Flutter 遵循平台设计原则(Platform-Adaptive Behavior),不希望让桌面端的交互“看起来像移动端”。
0131来上床,星痕共鸣的自动采集无法找到完全静默不打扰当前操作的方法,放置了。明天做什么。自己的flutter项目想整理一下ViewModel,settings page里ThemeViewModel
和LocaleViewModel
感觉可以整合进SettingsViewModel
,也方便别的settings项的添加,问题就是改了任何一个setting要rebuild的widget会增多,会有性能问题吗,这是我该考虑的问题吗。也可以多去看看别人的flutter项目。flutter真好啊真好啊,简单易懂还有美丽的跨端。