аргумент 1 имеет неожиданный тип ‘EnumMeta’

#python #pyqt #pyqt6

Вопрос:

Я пытаюсь отобразить простой графический интерфейс

 # Form implementation generated from reading ui file 'UI/form.ui' # Created by: PyQt6 UI code generator 6.1.0 # WARNING: Any manual changes made to this file will be lost when pyuic6  # is run again. Do not edit this file unless you know what you are doing.   from PyQt6 import QtCore, QtGui, QtWidgets   class Ui_MainWindow(object):  def setupUi(self, MainWindow):  MainWindow.setObjectName("MainWindow")  MainWindow.resize(886, 487)  self.centralwidget = QtWidgets.QWidget(MainWindow)  self.centralwidget.setObjectName("centralwidget")  self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)  self.gridLayout.setObjectName("gridLayout")  self.Enter = QtWidgets.QPushButton(self.centralwidget)  self.Enter.setObjectName("Enter")  self.gridLayout.addWidget(self.Enter, 2, 0, 1, 1)  self.label = QtWidgets.QLabel(self.centralwidget)  self.label.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft)  self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)  self.label.setObjectName("label")  self.gridLayout.addWidget(self.label, 0, 0, 1, 1)  self.plainTextEdit = QtWidgets.QPlainTextEdit(self.centralwidget)  self.plainTextEdit.setObjectName("plainTextEdit")  self.gridLayout.addWidget(self.plainTextEdit, 1, 0, 1, 1)  MainWindow.setCentralWidget(self.centralwidget)  self.menubar = QtWidgets.QMenuBar(MainWindow)  self.menubar.setGeometry(QtCore.QRect(0, 0, 886, 20))  self.menubar.setObjectName("menubar")  self.menuFile = QtWidgets.QMenu(self.menubar)  self.menuFile.setObjectName("menuFile")  MainWindow.setMenuBar(self.menubar)  self.statusbar = QtWidgets.QStatusBar(MainWindow)  self.statusbar.setObjectName("statusbar")  MainWindow.setStatusBar(self.statusbar)  self.actionUpload = QtGui.QAction(MainWindow)  self.actionUpload.setShortcutContext(QtCore.Qt.WindowShortcut)  self.actionUpload.setMenuRole(QtGui.QAction.AboutQtRole)  self.actionUpload.setObjectName("actionUpload")  self.menuFile.addAction(self.actionUpload)  self.menubar.addAction(self.menuFile.menuAction())   self.retranslateUi(MainWindow)  QtCore.QMetaObject.connectSlotsByName(MainWindow)   def retranslateUi(self, MainWindow):  _translate = QtCore.QCoreApplication.translate  MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))  self.Enter.setText(_translate("MainWindow", "Enter"))  self.label.setText(_translate("MainWindow", "Enter Text Below Or Upload File"))  self.menuFile.setTitle(_translate("MainWindow", "File"))  self.actionUpload.setText(_translate("MainWindow", "Upload"))   if __name__ == "__main__":  import sys  app = QtWidgets.QApplication(sys.argv)  MainWindow = QtWidgets.QMainWindow()  ui = Ui_MainWindow()  ui.setupUi(MainWindow)  MainWindow.show()  sys.exit(app.exec())  

но я понимаю Произошло исключение: Ошибка типа Я снова попытался использовать pyuic6, но безрезультатно

Я использую PyQt6 и использую ОС на базе Debian Linux

Комментарии:

1. Для дальнейшего использования, пожалуйста, предоставьте полную обратную связь.

2. @musicamante что это за обратная связь, которую вы оцениваете, извините, я новичок и не знаю

3. запустите сценарий в терминале или приглашении и скопируйте все сообщение об ошибке, а не только тип, включая обратную трассировку , которая является «логическим путем» (вызовы функций, операции и т. Д.), Вызвавшим ошибку.

Ответ №1:

Если этот код сгенерирован pyuic, то это ошибка PyQt. В PyQt6 флаги и перечисления более строгие, поэтому вы должны изменить

 self.actionUpload.setShortcutContext(QtCore.Qt.WindowShortcut) self.actionUpload.setMenuRole(QtGui.QAction.AboutQtRole)  

Для:

 self.actionUpload.setShortcutContext(QtCore.Qt.ShortcutContext.WindowShortcut) self.actionUpload.setMenuRole(QtGui.QAction.MenuRole.AboutQtRole)  

Комментарии:

1. что заменить этим?

2. @DerekNeilson смотрите обновление