近期在家中上网课,因为形式特殊,班群里经常通过接龙统计些信息,比如说错题、住址(用来寄学习资料)等等,有的统计成接龙还好说,但有的要改成表格,所以老师是接龙文字还是接龙表格呢????
接龙文字:微信接龙辅助,不会漏人,很不错,但改成表格麻烦
接龙表格:这个直接,但经常漏人啊。。。
于是开发了一个项目,名为 Solitaire,用于格式化文字接龙内容为表格
基于pyforms的GUI框架
pyforms是基于pyqt的GUI框架,有点臃肿。。。
不建议打包,我打包了一下,环境 windows2016,工具pyinstaller
打包完大小160mb左右。。。。。
它估计把整个pyqt都放进去了
使用方法
先安装依赖(我认为你已安装Python)
1 2
| pip install xlwt pip install pyforms
|
然后下面是代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| import pyforms from pyforms.basewidget import BaseWidget from pyforms.controls import ControlText from pyforms.controls import ControlLabel from pyforms.controls import ControlTextArea from pyforms.controls import ControlButton import xlwt class SimpleExample1(BaseWidget): def __init__(self): super(SimpleExample1,self).__init__('接龙格式化工具-----Lakphy') self._fullname = ControlTextArea('接龙内容') self._test = ControlLabel('请输入接龙内容后点击格式化,即可转换为表格\n请注意使用\'--\'即两个减号为每个数据分隔符,使用换行作为每个人的数据分隔符!\nCopyRight Lakphy 2020\n网站:lakphy.me') self._button = ControlButton('格式化') self._button.value = self.__buttonAction def __buttonAction(self): self._test.value = str(self._fullname.value.split('\n')) a = self._fullname.value.split('\n') wk = xlwt.Workbook() sheet1 = wk.add_sheet("数据", cell_overwrite_ok=True) for i in range(0,len(a)): b = a[i].split('--') for j in range(0,len(b)): if j == 0: d = b[j].split('. ',2) if len(d) == 2: c = d[1] else: d = b[j].split('.',2) if len(d) == 2: c = d[1] else: c = b[j] else: c = b[j] sheet1.write(i+1,j+1,c) sheet1.write(i+1,0,i+1) wk.save('Solitaire.xls') self._test.value = '接龙内容格式化成功!内容保存在Solitaire.xls,请及时备份该文件,防止下次使用该软件时覆盖内容!\nCopyRight Lakphy 2020\n网站:lakphy.me' if __name__ == "__main__": pyforms.start_app( SimpleExample1 )
|
附文:pyforms文档