pyqt中无法正确读取资源文件

发布于 2021-11-20 03:03:20 字数 1378 浏览 923 评论 2

我使用的软件环境是:32位window7 + python32 + pyqt4.9

我自己在上述环境下写了一个小桌面软件。遇到以下问题:

 我把一个文本文件利用Qt的资源系统编译成资源文件,然后在代码中调用。具体步骤如下:  
1、把我的字典文本文件放到了工作目录下的images的目录下  

2、在工作目录下的application.qrc中加入了<file>images/dict.txt</file>
  
3、最后我把这个application.qrc编译成application_rc.py
  
4、在代码的开始处加入import application_rc

然后在代码中读取这个文件,想读取成一个列表。代码如下:

    def phonetic_dict (self): 
        file = QtCore.QFile(":/images/dict.txt")
        file.open(QtCore.QFile.ReadOnly|QtCore.QFile.Text) 
        #QtCore.QTextStream.setCodec("UTF-8")
        inf =QtCore.QTextStream(file)
        my_dict = inf.readAll().split("rn")

        #my_dict = bytes(file.readAll()).split("n")#读出音标库文本中的所有内容在一个列表中,每行是一个列表的一个元素。
        file.close()#关闭音标库文本文件
        myDict = dict() #建立一个空字典
        for  line_1 in my_dict :#用for循环读出音标库列表中的每一个元素即音标库文本中的每一行的内容 
            #print (line_1)
            word_1,phonetic = line_1.split("t",1)#对本行用制表符分割一次,得到了一个含有两个元素的列表。这两个元素分别是单词和单词的音标(分别是国际音标和KK音标)
            if word_1 not in myDict:#如果本行的单词不在所建的字典中时
                myDict[word_1] = phonetic#把本行的单词及相应的音标加入到所建的字典文件中
            else:#如果本行的单词已在所建的字典中时
                pass#不进行任何操作
        return myDict  

结果不能读取出来。我才学编程两个月,请大牛们帮忙指点一下。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清晨说ぺ晚安 2021-11-20 05:00:31

等待中

小瓶盖 2021-11-20 04:13:20

大牛们,帮忙改一下代码啊!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文