From 92cb2dd75ea37b64b174f42ddd0b5b17d6a4634a Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 16 二月 2023 16:04:11 +0800 Subject: [PATCH] H撤策略优化,新增热门板块爬取,新增windows截图工具 --- gui.py | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 54 insertions(+), 4 deletions(-) diff --git a/gui.py b/gui.py index 0ae0102..92fd2f8 100644 --- a/gui.py +++ b/gui.py @@ -61,6 +61,7 @@ # tcpserver.handle_request() # 鍙帴鍙椾竴涓鎴风杩炴帴 tcpserver.serve_forever() # 姘镐箙寰幆鎵ц,鍙互鎺ュ彈澶氫釜瀹㈡埛绔繛鎺� + def createOCRServer(): print("create OCRServer") laddr = "", 9002 @@ -81,9 +82,6 @@ self.serverProcess = multiprocessing.Process(target=createServer, args=(p1, gs_server_pipe,)) self.jueJinProcess = multiprocessing.Process(target=startJueJin, args=(p2,)) self.ocrServerProcess = multiprocessing.Process(target=createOCRServer) - - - self.p1 = p1 self.p2 = p2 @@ -272,8 +270,31 @@ win.geometry("{}x{}".format(width, height)) win.mainloop() + # 缁樺埗浠g爜浜ゆ槗绐楀彛鍒嗛厤 + def refresh_trade_buy_win_data(): + code_wins = trade_gui.THSBuyWinManagerNew.get_distributed_code_wins() + # 鑾峰彇浠g爜娑ㄥ箙 + codeActualPriceProcessor = trade_data_manager.CodeActualPriceProcessor() + datas = [] + for data in code_wins: + rate = codeActualPriceProcessor.get_current_rate(data[0]) + datas.append((data[0], rate, data[1])) + datas.sort(key=lambda tup: tup[1] if tup[1] is not None else 1) + datas.reverse() + index = 0 + table.model.deleteRows() + for data in datas: + table.model.addRow() + table.model.setValueAt(data[0], index, 0) + table.model.setValueAt(f"{data[1]}%", index, 1) + table.model.setValueAt(data[2], index, 2) + # table.model.setValueAt(data["apply_time"], index, 2) + index += 1 + table.redraw() + btn = Button(frame, text="鍒锋柊鏀剁洏浠�", command=refresh_close_price_data) btn.place(x=5, y=150) + sv_num = StringVar(value="鑾峰彇鍒版敹鐩樹环鏁伴噺锛氭湭鐭�") cl = Label(frame, textvariable=sv_num, bg="#DDDDDD", fg="#666666") @@ -284,6 +305,34 @@ btn = Button(frame, text="浠婃棩娑ㄥ仠", command=get_limit_up_codes_win) btn.place(x=300, y=150) + + trade_win_datas = [] + # draw_trade_buy_win(360, 140) + table_width = 300 + table_height = 90 + _frame = Frame(frame, {"height": table_height, "width": table_width, "bg": "#DDDDDD"}) + + table = tkintertable.TableCanvas(_frame, data={"row0": {'浠g爜': '', '娑ㄥ箙': '', '绐楀彛鍙ユ焺': ''}}, read_only=True, + width=table_width, height=table_height, thefont=('寰蒋闆呴粦', 9), cellwidth=100, + rowheaderwidth=20) + table.show() + _frame.place(x=380-12, y=130) + refresh_trade_buy_win_data() + refresh_close_price_data() + + btn = Button(frame, text="鍒锋柊", command=refresh_trade_buy_win_data,height=1) + btn.place(x=730-12, y=130) + + def re_distribute_buy_win(): + try: + juejin.distribute_buy_win() + refresh_trade_buy_win_data() + showinfo("鎻愮ず", "鍒嗛厤瀹屾垚") + except Exception as e: + showerror("鍒嗛厤鍑洪敊", str(e)) + + btn = Button(frame, text="閲嶆柊鍒嗛厤绐楀彛", command=re_distribute_buy_win, height=1) + btn.place(x=730-12, y=165) # 缁樺埗浜ゆ槗鐘舵�� def __draw_trade_state(self, frame): @@ -681,7 +730,8 @@ cl = Label(frame, text="浠婃棩濮旀墭锛�", bg="#DDDDDD", fg="#666666") cl.place(x=5, y=30) delegate_datas = {} - delegate_datas["row{}".format(0)] = {'濮旀墭鏃堕棿': '', '浠g爜': '', '鐢虫姤鏃堕棿': '', '濮旀墭鏁伴噺': '', '濮旀墭浠锋牸': '', '鎴愪氦鍧囦环': '', '鎴愪氦鏁伴噺': '', + delegate_datas["row{}".format(0)] = {'濮旀墭鏃堕棿': '', '浠g爜': '', '鐢虫姤鏃堕棿': '', '濮旀墭鏁伴噺': '', '濮旀墭浠锋牸': '', '鎴愪氦鍧囦环': '', + '鎴愪氦鏁伴噺': '', '鎿嶄綔': ''} cl = Label(frame, text="鏇存柊鏃堕棿锛�", bg="#DDDDDD", fg="#666666") -- Gitblit v1.8.0