def init_child(self) -> None: """""" self.minute_child = QtWidgets.QTreeWidgetItem() self.minute_child.setText(0, "分钟线") self.tree.addTopLevelItem(self.minute_child) self.hour_child = QtWidgets.QTreeWidgetItem(self.tree) self.hour_child.setText(0, "小时线") self.tree.addTopLevelItem(self.hour_child) self.daily_child = QtWidgets.QTreeWidgetItem(self.tree) self.daily_child.setText(0, "日线") self.tree.addTopLevelItem(self.daily_child)
def refresh_tree(self) -> None: """""" self.clear_tree() data = self.engine.get_bar_data_available() for d in data: key = (d["symbol"], d["exchange"], d["interval"]) item = self.tree_items.get(key, None) if not item: item = QtWidgets.QTreeWidgetItem() self.tree_items[key] = item item.setText(1, ".".join([d["symbol"], d["exchange"]])) item.setText(2, d["symbol"]) item.setText(3, d["exchange"]) if d["interval"] == Interval.MINUTE.value: self.minute_child.addChild(item) elif d["interval"] == Interval.HOUR.value: self.hour_child.addChild(item) else: self.daily_child.addChild(item) output_button = QtWidgets.QPushButton("导出") output_func = partial(self.output_data, d["symbol"], Exchange(d["exchange"]), Interval(d["interval"]), d["start"], d["end"]) output_button.clicked.connect(output_func) show_button = QtWidgets.QPushButton("查看") show_func = partial(self.show_data, d["symbol"], Exchange(d["exchange"]), Interval(d["interval"]), d["start"], d["end"]) show_button.clicked.connect(show_func) delete_button = QtWidgets.QPushButton("删除") delete_func = partial( self.delete_data, d["symbol"], Exchange(d["exchange"]), Interval(d["interval"]), ) delete_button.clicked.connect(delete_func) self.tree.setItemWidget(item, 7, show_button) self.tree.setItemWidget(item, 8, output_button) self.tree.setItemWidget(item, 9, delete_button) item.setText(4, str(d["count"])) item.setText(5, d["start"].strftime("%Y-%m-%d %H:%M:%S")) item.setText(6, d["end"].strftime("%Y-%m-%d %H:%M:%S")) self.minute_child.setExpanded(True) self.hour_child.setExpanded(True) self.daily_child.setExpanded(True)