0

新しい PyQt5 プログラムを開始しましたが、「QWidget の前に QApplication を構築する必要があります」というエラーが発生します。

エラーは理解できますが、コードが QWidget を最初に構築する場所がわかりません。

これが私のコードです:

class Main(QWidget):
    """ Main window """
    def __init__(self, *args):
        QWidget.__init__(self, *args)
        self.business_list = ['Acheté à', 'Vendu à']

    # Pet form
    petFormGroupBox = QGroupBox("Description de l'animal")
    pet_layout = QFormLayout()
    pet_layout.addRow(QLabel("Nom scientifique:"), QLineEdit())
    pet_layout.addRow(QLabel("Sexe:"), QLineEdit())
    pet_layout.addRow(QLabel("Année de naissance:"), QDateEdit())
    pet_layout.addRow(QLabel("Cause décès:"), QLineEdit())
    petFormGroupBox.setLayout(pet_layout)

    # Business form
    petBusinessFormGroupBox = QGroupBox("Achats / Ventes")
    pet_business_layout = QFormLayout()
    pet_layout.addRow(QLabel("Nom complet + N° d'autorisation"), QLineEdit())
    petBusinessFormGroupBox.setLayout(pet_business_layout)

    business_btn_group = QRadioButton()

    for each in self.business_list:
        self.business_list.append(QRadioButton(each))

    self.business_list[0].setChecked(True)
    business_choices_layout = QHBoxLayout()
    counter = 1
    for each in self.business_list:
        business_choices_layout.addWidget(each)
        business_btn_group.addButton(each)
        business_btn_group.setId(each, counter)

    pet_business_layout.addWidget(business_choices_layout)

    hbox = QHBoxLayout()
    hbox.addWidget(pet_layout)
    hbox.addWidget(pet_business_layout)

    self.setLayout(hbox)

class Cites(QMainWindow):
    """ Cites app """
    def __init__(self):
        QMainWindow.__init__(self)
        self.setWindowTitle('CITES')
        self.setWindowState(Qt.WindowMaximized)

        exitAct = QAction(QIcon('exit24.png'), 'Exit', self)
        exitAct.setShortcut('Ctrl+Q')
        exitAct.triggered.connect(qApp.quit)

        fileMenu = self.menuBar().addMenu('File')
        fileMenu.addAction(exitAct)

        toolbar = self.addToolBar('Main')
        toolbar.addAction(exitAct)

        main = Main()
        self.setCentralWidget(main)

        self.statusBar().showMessage('Bienvenue dans CITES')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Cites()
    ex.show()
    sys.exit(app.exec_())

お気づきの点がございましたら、幸いです!

明けましておめでとうございます。コードをお楽しみください :)。

事前に感謝します

4

1 に答える 1