从tushare获取股票列表,在lineEdit能通过股票代码或者股票名称的第一个字母拼音补全剩下的股票,输入每个字母都能补全
时间: 2024-02-13 10:02:31 浏览: 75
您可以使用Qt的QCompleter类来实现这个功能。首先,您需要从tushare获取股票列表,然后将其存储在QStringList中。接下来,创建一个QLineEdit对象并使用QCompleter类设置自动补全功能。
以下是一个示例代码:
```python
import tushare as ts
from PyQt5.QtWidgets import QLineEdit, QCompleter, QApplication
from PyQt5.QtCore import Qt
# 获取股票列表
pro = ts.pro_api()
df = pro.stock_basic()
stock_list = df['ts_code'].tolist() + df['name'].tolist()
# 创建QLineEdit对象
line_edit = QLineEdit()
# 创建QCompleter对象
completer = QCompleter(stock_list)
completer.setCaseSensitivity(Qt.CaseInsensitive) # 设置大小写不敏感
# 设置自动补全功能
line_edit.setCompleter(completer)
# 显示QLineEdit对象
app = QApplication([])
line_edit.show()
app.exec_()
```
这个示例中,我们将股票代码和股票名称存储在一个字符串列表中,并使用QCompleter类设置大小写不敏感的自动补全功能。然后,我们创建一个QLineEdit对象并将QCompleter对象设置为自动补全。
最后,我们创建一个QApplication对象并显示QLineEdit对象以使其可见。
阅读全文