Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #測試用 無爬蟲程式
- #source https://bit.ly/2HmF5Xs
- import tkinter as tk
- from tkinter import ttk
- import time
- # 測試用資料 li 股價代號 現價 漲跌幅度
- '''
- 資料格式
- 公司代碼(0) 現價(1) 前價(2) 價差(3)
- '''
- #li = [('BDO','93.95',-1),('CEB','40.7',1),('DITO','3.42',0)]
- li=[('2GO', 8.91, 8.8, 1.2499999999999936),
- ('8990P', 102.0, 101.0, 0.9900990099009901),
- ('AAA', 1.61, 1.61, 0.0),
- ('AB', 9.74, 9.59, 1.5641293013555824),
- ('ABA', 0.48, 0.485, -1.0309278350515474),
- ('ABG', 8.38, 8.8, -4.772727272727272),
- ('ABS', 11.4, 11.4, 0.0),
- ('ABSP', 10.82, 10.98, -1.4571948998178519),
- ('AC', 760.0, 760.0, 0.0),
- ('ACE', 1.21, 1.11, 9.009009009008997)]
- root = tk.Tk()
- root.title('看盤小幫手')
- #https://bit.ly/2TCp1U0
- def treeview_sort_column(tv, col, reverse):
- l = [(tv.set(k, col), k) for k in tv.get_children('')]
- l.sort(key=lambda t: float(t[0]), reverse=reverse)
- # ^^^^^^^^^^^^^^^^^^^^^^^
- for index, (val, k) in enumerate(l):
- tv.move(k, '', index)
- tv.heading(col,
- command=lambda: treeview_sort_column(tv, col, not reverse))
- #報價更新時間
- lbl_lastupdate=tk.Label(root)
- lbl_lastupdate.grid(row=0,column=0,columnspan=3)
- columns=('1','2')
- tree=ttk.Treeview(root,show="headings",columns=columns )#表格
- #tree = ttk.Treeview(root,columns=['1','2'],show='headings')
- tree.tag_configure('+', background='red')
- tree.tag_configure('-', background='green')
- tree.column('1',width=150,anchor='center')
- tree.column('2',width=150,anchor='center')
- tree.heading('1',text='股票代號')
- tree.heading('2',text='現價')
- for i in li:
- if i[3]<0:
- tree.insert('','end', values=i,tags = ('-',))
- elif i[3]==0:
- tree.insert('','end', values=i)
- else:
- tree.insert('','end', values=i,tags = ('+',))
- tree.grid(row=1,column=0,columnspan=3)
- #新增股票監看名單 功能未實作
- lbl_addsymbol=tk.Label(root,text="增加股票代號:", fg="green")
- lbl_addsymbol.grid(row=2,column=0)
- txt_input=tk.Entry(root,width=10)
- txt_input.grid(row=2,column=1)
- btn_confirm=tk.Button(root,text="確認", fg="green")
- btn_confirm.grid(row=2,column=2)
- #columns[1] 只對現價做排序
- for col in columns[1]:
- tree.heading(col,command=lambda c=col: treeview_sort_column(tree, c, False))
- root.mainloop()
Add Comment
Please, Sign In to add comment