【发布时间】:2010-10-10 17:57:31
【问题描述】:
我的 PyQt4 应用中有一个 QListWidget。它包含文件夹路径。 我想将其内容保存到 QSettings 并稍后加载它们。 我使用此代码来执行此操作:
def foldersSave(self):
folders = {} '''create dict to store data'''
foldersnum = self.configDialog.FolderLIST.count() '''get number of items'''
if foldersnum:
for i in range(foldersnum):
folders[i] = self.configDialog.FolderLIST.item(i).text() '''save items text to dict'''
return str(folders) '''return string of folders to store in QSettings'''
return None
但如果我这样做,文件夹路径将存储在配置文件中,例如:
musicfolders={0: PyQt4.QtCore.QString(u'/home/sam/Ubuntu One')}
所以我不知道如何加载它们。我在不同的变体中尝试过类似的东西:
def foldersLoad(self):
folders = eval(self.tunSettings.value('musicfolders').toString())
返回错误:
TypeError: eval() arg 1 must be a string or code object
看起来我只需要以其他方式保存数据,而不是现在。 Gooled了很多,但没有任何线索。我确信答案是微不足道的,但我被困住了。
【问题讨论】:
标签: python qt4 pyqt4 qlistwidget