Python 实现 账本bill GUI小项目
GUI采用wxPython
使用txt文本进行记录和读取数据,按照日期进行快速排序,点击Plot按钮可打印账单并绘制图表实现可视化
效果如下图
import wx
import matplotlib.pyplot as plt
class PocketTxt:
def __init__(self, filename):
self.filename = filename
self.time = []
self.cost = []
def read(self):
txt = open(self.filename, 'r')
self.time = []
self.cost = []
for line in txt:
data = line.split()
self.time.append(data[0])
self.cost.append(float(data[1]))
txt.close()
return self.time, self.cost
def update(self): self.read()
def write(self, date, cost):
txt = open(self.filename, 'a')
data = "\n" + str(date) + " " + str(cost)
txt.write(data)
txt.close()
def swap(date, cost, i, j):
tmp = date[i]
date[i] = date[j]
date[j] = tmp
tmp = cost[i]
cost[i] = cost[j]
cost[j] = tmp
def partition(date, cost, low, high):
i =