Как исправить ошибку при создании объекта «graphicsview» pyqt6 [закрыто]Python

Программы на Python
Ответить
Anonymous
 Как исправить ошибку при создании объекта «graphicsview» pyqt6 [закрыто]

Сообщение Anonymous »

Я пытаюсь создать текстовый объект внутри объекта GraphicsView pyqt6.

Код: Выделить всё

from PyQt6 import QtCore, QtGui, QtWidgets
from PyQt6.QtWidgets import QGraphicsScene, QGraphicsTextItem

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.frame = QtWidgets.QFrame(parent=self.centralwidget)
self.frame.setGeometry(QtCore.QRect(160, 140, 531, 271))
self.frame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
self.frame.setObjectName("frame")

self.graphicsView = QtWidgets.QGraphicsView(parent=self.frame)
self.graphicsView.setGeometry(QtCore.QRect(30, 40, 481, 192))
self.graphicsView.setObjectName("graphicsView")

# Crea una escena gráfica
self.scene = QtWidgets.QGraphicsScene(self, parent=self.graphicsView)
self.ui.graphicsView.setScene(self.scene)  # Asocia la escena al graphicsView

# Crea un elemento de texto
text = QGraphicsTextItem("¡Hola, mundo!")
# Establece la posición del texto (opcional)
text.setPos(50, 50)
# Añade el texto a la escena
self.scene.addItem(text)

MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 22))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(parent=MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)

self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))

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())
Нас интересует та часть, где объявлена ​​переменная self.scene. Вот как мне это дал ИИ, но проблема в том, что это работает, только если я объявлю это в файле main.py. Я младший, но думаю, что это не то место. выполните интерфейс и логику программирования.
при попытке запустить окно терминал выдает следующую ошибку:

Файл "e:\dev\SCP\Repackaged SCP\Demo
teriminal_de_pesaje_v1\output.py", строка 31, в setupUi
self.scene = QtWidgets.QGraphicsScene(self, Parent=self.graphicsView)
^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError:
аргументы не соответствуют ни одному перегруженному вызову: QGraphicsScene(parent:
Optional[QObject] = None): аргумент 1 имеет неожиданный тип
'Ui_MainWindow' QGraphicsScene(sceneRect: QRectF, родитель:
Необязательно[QObject] = Нет): аргумент 1 имеет неожиданный тип
'Ui_MainWindow' QGraphicsScene(x: float, y: float, width: float,
height: float, родительский элемент: необязательный[QObject] = None): аргумент 1 имеет
неожиданный тип 'Ui_MainWindow'

Я не очень хорошо понимаю проблему, сначала я подумал, что неправильно объявил родителя, но, похоже, причина не в этом. Если бы кто-нибудь мог мне помочь, я был бы благодарен.

Подробнее здесь: https://stackoverflow.com/questions/793 ... w-de-pyqt6
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»