0

所以,我正在使用 Python(与 PyQt),我遇到了这个奇怪的问题。在这:

self.listwithnames = ["Α.Μ.","Μονομελές-Τριμελές", "Ονοματεπώνυμο","Όνομα Πατρός","Όνομα Μητρός","Ημερομηνία Γέννησης",
                              "Τόπος Γέννησης","Φύλο","Εθνικότητα","Διεύθυνση Κατοικίας","Αστυνομικό Τμήμα",
                              "Τηλέφωνο","Επάγγελμα-Ιδιότητα","Ημερομηνία Δικασίμου","Αριθμός Πινακίου",
                              "Πράξη","Ημερομηνία Τέλεσης","Τόπος Τέλεσης","Ύπαρξη Συνενόχων",
                              "Παραδοχή","Περιγραφή Πράξης","Εμφάνιση","Αναβολή","Απόφαση","Αριθμός Απόφασης",
                              "Ημερομηνία Απόφασης","Παρουσία","Προηγούμενες Αποφάσεις","Υπεύθυνος Επιμελητής", "Σχόλια"]       

        #Επιλογές Αναζήτησης ComboBox:
        self.combobox = QtGui.QComboBox(self)
        for i in range(0,28):
            self.combobox.addItem(self.listwithnames[i].decode("utf-8"))
        self.horizontalLayout.addWidget(self.combobox, 0, 1, 1, 1)

在这里,它工作得很好!但在这儿:

l = [1, 8, 19, 20, 22, 27]
        self.list_with_lists = [["Μονομελές", "Τριμελές"], ["Αγόρι", "Κορίτσι"], ["Ναι", "Όχι"], ["Ναι", "Όχι"], ["Πρωτοείσακτος", "Υπότροπος", "Αναβολή"], ["Παρών", "Απών"]]
        if self.combobox.currentIndex() in l:
            for l_ in self.list_with_lists[l.index(self.combobox.currentIndex())]:
                for string in l_:
                    self.combobox2.addItem(string.decode('utf-8'))

它只是没有,我得到这个错误:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xce in position 0: unexpected end of data

那很奇怪...

解决了:

This is the final code:
l = [1, 8, 19, 20, 22, 27]
self.list_with_lists = [[u"Μονομελές", u"Τριμελές"], [u"Αγόρι", u"Κορίτσι"], [u"Ναι", u"Όχι"], [u"Ναι", u"Όχι"], [u"Πρωτοείσακτος", u"Υπότροπος", u"Αναβολή"], [u"Παρών", u"Απών"]]
if self.combobox.currentIndex() in l:
    self.combobox2.clear()
    for l_ in self.list_with_lists[l.index(self.combobox.currentIndex())]:
        self.combobox2.addItem(l_)
4

1 回答 1

1

而不是 forstring in l_:尝试删除该循环并只是做l_.decode('utf-8')

于 2013-07-22T08:24:38.407 回答