在之前的文章中,我们介绍了使用PyQtGraph在PyQt5中绘制股票K线图:
Python GUI教程(十三):在GUI中使用pyqtgraph绘图库zmister.com以及使用PyQtGraph绘制带十字光标的的股票走势折线图:
pyqtgraph数据可视化3:使用PyQtGraph绘制精美折线图--以上证指数为例 - 州的先生zmister.com今天,我们(州的先生:http://zmister.com)将上述两者结合起来,在PyQt5中借助PyQtGtaph绘制一个带有十字光标的股票历史走势K线图。
本文首发州的先生博客,原文链接:
PyQt5的PyQtGraph实践系列2:绘制股票十字光标K线图 - 州的先生zmister.com一、创建图形界面窗口骨架
首先,我们来创建一个基础的图形界面。里面包含了:
- 一个文本输入框,用于输入股票代码;
- 一个下拉选择框,用于选择时间段;
- 一个按钮,用于点击查询数据和生成K线图;
- 一个空白图形,用于放置K线图;
通过如下代码进行创建:
# 主窗口类
class MainUi(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("州的先生zmister.com A股股票历史走势K线图")
self.main_widget = QtWidgets.QWidget() # 创建一个主部件
self.main_layout = QtWidgets.QGridLayout() # 创建一个网格布局
self.main_widget.setLayout(self.main_layout) # 设置主部件的布局为网格
self.setCentralWidget(self.main_widget) # 设置窗口默认部件
self.stock_code = QtWidgets.QLineEdit() # 创建一个文本输入框部件
self.option_sel = QtWidgets.QComboBox() # 创建一个下拉框部件
self.option_sel.addItem("近7天")
self.option_sel.addItem("近30天")
self.option_sel.addItem("近60天")
self.option_sel.addItem("近180天")
self.option_sel.addItem("近360天")
self.que_btn = QtWidgets.QPushButton("查询") # 创建一个按钮部件
self.k_widget = QtWidgets.QWidget() # 实例化一个widget部件作为K线图部件
self.k_layout = QtWidgets.QGridLayout() # 实例化一个网格布局层
self.k_widget.setLayou