pyqt6 completer.setCaseSensitivity设置大小写不敏感
时间: 2024-01-19 09:05:03 浏览: 117
在PyQt6中,`completer.setCaseSensitivity()`方法的使用与PyQt5略有不同。下面是一个示例代码,展示了如何在PyQt6中设置QCompleter的大小写敏感性:
```python
import tushare as ts
from PyQt6.QtWidgets import QLineEdit, QCompleter, QApplication
from PyQt6.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.setFilterMode(Qt.MatchContains) # 设置过滤模式
completer.setCaseSensitivity(Qt.CaseInsensitive) # 设置大小写不敏感
# 设置自动补全功能
line_edit.setCompleter(completer)
# 显示QLineEdit对象
app = QApplication([])
line_edit.show()
app.exec()
```
在PyQt6中,`completer.setCaseSensitivity()`方法接受一个枚举类型的参数,用于设置大小写敏感性。在上面的示例中,我们将其设置为`Qt.CaseInsensitive`,表示大小写不敏感。
此外,我们还设置了`completer.setFilterMode(Qt.MatchContains)`以指定过滤模式。它确定控件的文本与已添加的项的匹配方式。在此示例中,我们将其设置为`Qt.MatchContains`,表示只要文本中包含项的任何部分,就可以进行匹配。
最后,我们创建了一个QApplication对象并使用`app.exec()`运行应用程序。
阅读全文