Как я могу использовать для l oop для сбора данных из различных списков в PyQt5? - PullRequest
0 голосов
/ 02 апреля 2020

Я довольно смущен, но мне нужно понять синтаксис, необходимый для построения цикла for, чтобы добавить 36 текстовых входов ComboBox в один и тот же список. Это код, который я использовал:


from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QMainWindow


from PyQt5 import uic

class Ui(QMainWindow):
    def __init__(self):
        super().__init__()
        uic.loadUi("UI_psi.ui", self)

        self.avanti_psi.clicked.connect(self.sdq_page)
        self.avanti_psi.clicked.connect(self.psi_data)



    def sdq_page(self):
        uic.loadUi("UI_sdq.ui", self)
        self.Avanti_sdq.clicked.connect(self.indici_page)
    def indici_page(self):
        uic.loadUi("UI_indici.ui", self)
        print()
    def psi_data(self):
        psiData = []
        psiData.append(self.psi_1.currentText())
        psiData.append(self.psi_2.currentText())
        psiData.append(self.psi_3.currentText())

        print(psiData)







app = QApplication([])
window = Ui()

window.show()
app.exec()

Я назвал функцию "psi_data", и я чувствую себя действительно глупо, добавляя весь текущий текст ComboBox, как я сделал ... но я не могу понять, как итерация каждого выпадающего списка в UI_psi.ui и добавление их в список psiData []!

1 Ответ

0 голосов
/ 02 апреля 2020

Согласно этому посту . Я считаю, что ваша psi_data функция должна выглядеть следующим образом:

def psi_data(self):
    self.psiData = []
    self.psiData += [self.psi_1.itemText(i) for i in range(self.psi_1.count())]
    self.psiData += [self.psi_2.itemText(i) for i in range(self.psi_2.count())]
    self.psiData += [self.psi_3.itemText(i) for i in range(self.psi_3.count())]

Пожалуйста, дайте мне знать, если это помогло! : D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...