帮我写个pyqt中组合框中加项目的代码,项目数据源来自配置文件,配置文件名config.ini , 字段是user配置文件中还有个password的字段,我想在选择组合框的时候能够读取配置文件中相应的password
时间: 2024-05-15 10:16:23 浏览: 151
以下是一个简单的示例代码,演示如何从配置文件中读取数据并将其添加到组合框中:
```python
from PyQt5.QtWidgets import QApplication, QComboBox
from configparser import ConfigParser
class MyComboBox(QComboBox):
def __init__(self, parent=None):
super().__init__(parent)
self.load_items()
def load_items(self):
# 从配置文件中读取数据
config = ConfigParser()
config.read('config.ini')
users = config.get('settings', 'user').split(',')
passwords = config.get('settings', 'password').split(',')
# 将数据添加到组合框中
for i in range(len(users)):
user = users[i].strip()
password = passwords[i].strip()
self.addItem(f'{user} ({password})')
if __name__ == '__main__':
app = QApplication([])
combo = MyComboBox()
combo.show()
app.exec_()
```
在上面的代码中,我们创建了一个自定义的组合框类 `MyComboBox`,它在初始化时调用了 `load_items` 方法,该方法从配置文件中读取数据并将其添加到组合框中。具体来说,我们使用 `ConfigParser` 类从文件 `config.ini` 中读取 `user` 和 `password` 字段,然后使用 `split` 方法将它们拆分成列表。最后,我们使用一个循环将每个用户和密码组合成一个字符串,并添加到组合框中。这个字符串的格式是 `user (password)`。
在主程序中,我们创建了一个 `MyComboBox` 实例并显示它。运行程序后,你应该能够看到一个组合框,其中包含了从配置文件中读取的用户和密码。当你选择一个项目时,它的文本将包含所选用户的密码。
阅读全文