作者nsay (梦载会)
看板Python
标题Re: [问题] 为什麽有动作,但还是空白
时间Tue Feb 8 13:28:04 2022
※ 引述《euser1777 (YY)》之铭言:
: 感谢各位解答,程式更新如右 https://github.com/cj044/Qtrandom
: 希望写成的目标如图片:https://imgur.com/IrX3bmX
: 但是目前加入两段功能後
: 遇到很多问题
: 1.问题图片如下:
: https://imgur.com/mDxLVRF 不知道为什麽?
: 写到这两段功能,a 抽样数据後存入CSV档案 b.全班数据存入CSV档案
: 都显示呼叫功能,没有这属性?
: 2.像是显示在萤幕功能的代码都是一样,能否优化?
: 谢谢!
https://github.com/Saxo0213/Qtrandom/blob/main/VIP-Qtrandom-TEST.py
我也是新手,因为最近也在研究档案存取的机制所以有点兴趣
首先是有关内建的CSV读取功能
假设CSV有两行
--
高雄,左营,
高雄,三民,
--
rows = csv.reader(csvfile, delimiter=',')
^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^
变数 套件功能 读取的分隔方式(用,分隔资料)
一般读取是以 ","做分隔
但因为我们整行资料有独立性
所以我们要整行读取
小list-单行储存
v
所以他读取出来的rows=[["高雄","左营"],["高雄","三民"]]
^ ^
大LIST-各行储存 读取出来的资料 str
是一个list中还有list的状况
for row in rows:
self.class_info.append(row)
将位置row存入list
小list储存各行资料
v
这里self.class_info 会变成 [["高雄","左营"],["高雄","三民"]]
^ ^ ^
大list-各行储存 符合原本各行的两个单独资料
以上是为了显示在萤幕上的功能做准备
第一次用QT,参考前面前辈的说明
QStringListModel() 是一个只接受包含str的list
从rows读出来的当然不能符合
所以我们的资料在输入到QStringListModel()前
要先把各行的资料做处理再输出给他
函式传入我们要显示的资料
v
def show_list(self,list):#显示在萤幕
pf=[]
for l in list:
pf.append(",".join(l))
^^
定义一个临时的list
把小list转成str
转换完的pf=["高雄,左营","高雄,三民"]
^ ^
大LIST list 内的 str
这样listView在显示资料就没有问题了
我自己在学习都是翻网路资源
写程式我觉得至少型态转换要弄懂
再来就是型态的组合拆分功能
有关list 我是看这网页
https://selflearningsuccess.com/python-list/
有关str 我是看这网页
https://selflearningsuccess.com/pythonstring/
是不知道 CSV读取的分隔方式可不可以多重设定
有机会在继续研究
应该还有更好的写法,在请前辈们指导了
至於原PO想要优化的部分
我有大概整理全部的code 应该有符合需求
有也帮你 补上开启档案的方式选择CSV
你再参考看看.....
学习新的指令套件真烧脑
不过QT真的刻UI好像比较方便点
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.117.194.95 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1644298089.A.29E.html
1F:→ nsay: 忘了说 原本原PO对应的UI名称有些有问题 所以UI档我也有调 02/08 13:34
2F:→ nsay: 开启档案就先处理list格式,是方便资料可以另外做其他处理 02/08 13:39
※ 编辑: nsay (122.117.194.95 台湾), 02/08/2022 14:19:16
3F:推 lycantrope: csv.reader设delimiter="," 就是分行读取後用,分隔 02/08 14:22
4F:→ lycantrope: 只是原po有点伸手牌,懒得回... 02/08 14:23
5F:→ nsay: 恩,後来有去翻技术文件,我原本以为是设定的问题,结果只是 02/08 14:28
6F:→ nsay: 我其他函式忘记做转换 02/08 14:28
7F:→ nsay: 刚好研究一下CSV跟QT有啥内容也挺好玩的=3=,接触py3个月玩 02/08 14:29
8F:→ nsay: 玩的很开心 02/08 14:29
9F:推 euser1777: 谢谢解答! 虽然自己最後有写出来,但是写的不是很好! 02/12 09:52