从tushare获取股票列表,在lineEdit中,支持股票代码搜索,股票中文名称搜索、补全时要显示股票中文名称和股票代码,但是lineedit中只显示股票代码
时间: 2024-02-13 15:03:21 浏览: 21
你可以使用 tushare 库获取股票列表,然后使用 PyQt5 库来创建一个带有自动补全功能的 QLineEdit 组件。以下是一个示例:
``` python
import tushare as ts
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QLineEdit, QCompleter
# 获取股票列表
stock_list = ts.get_stock_basics()
# 创建一个带有自动补全功能的 QLineEdit 组件
line_edit = QLineEdit()
line_edit.setPlaceholderText('请输入股票代码或名称')
line_edit.setAlignment(Qt.AlignCenter)
# 创建一个自动补全器
completer = QCompleter(stock_list.index.tolist() + stock_list['name'].tolist(), line_edit)
completer.setCaseSensitivity(Qt.CaseInsensitive)
line_edit.setCompleter(completer)
```
这会创建一个带有自动补全功能的 QLineEdit 组件,并将其存储在变量 line_edit 中。自动补全器会将股票代码和名称都添加到补全列表中,但是只会在 line_edit 中显示股票代码。如果想要在 line_edit 中同时显示股票代码和名称,可以在自动补全器中使用 HTML 标签来实现,例如:
``` python
# 创建一个自动补全器,使用 HTML 标签来同时显示股票代码和名称
completer = QCompleter(['<b>{0}</b> {1}'.format(index, name) for index, name in zip(stock_list.index, stock_list['name'])], line_edit)
```
这会在 line_edit 中同时显示股票代码和名称,股票代码会加粗显示。