从tushare获取股票列表,在lineEdit中,支持股票代码补全,股票中文名称补全、拼音首字母补全,补全时要显示股票中文名称和股票代码
时间: 2023-12-09 18:02:26 浏览: 130
好的,以下是一个使用PyQt5实现的股票代码补全、股票中文名称补全和拼音首字母补全的例子:
```python
import sys
import tushare as ts
from pypinyin import lazy_pinyin
from PyQt5.QtWidgets import QApplication, QLineEdit, QCompleter
# 获取股票列表
stock_list = ts.get_stock_basics()
stock_names = stock_list.index.tolist() + stock_list['name'].tolist()
pinyin_abbreviations = [" ".join([lazy_pinyin(name)[0][0] for name in n.split()]) for n in stock_names]
all_names = stock_list.index.tolist() + stock_names + pinyin_abbreviations
# 创建应用程序和lineEdit
app = QApplication(sys.argv)
lineEdit = QLineEdit()
# 创建自动补全器
completer = QCompleter(all_names)
completer.setCaseSensitivity(False)
lineEdit.setCompleter(completer)
# 显示lineEdit
lineEdit.show()
sys.exit(app.exec_())
```
运行上述代码后,将会打开一个lineEdit窗口,您可以在其中输入股票代码、股票中文名称或拼音首字母,然后通过自动补全功能获取匹配的股票代码和股票中文名称。需要注意的是,这里使用了pypinyin库而非pinyin库,因为pinyin库的FIRST_LETTER模式只能输出首字母而无法输出第一个字母的缩写。如果您尚未安装pypinyin库,可以使用以下命令在命令行中安装:
```
pip install pypinyin
```
希望这可以帮助您解决问题!
阅读全文