Я пытаюсь разработать проект с использованием qt, но у меня возникли две проблемы как для добавления элементов в сцену! У меня есть класс, содержащий мой фоновый объект, и он получает указатель на мою сцену в своем конструкторе.две ошибки при добавлении элементов в QGraphicsScene
Я попробовал «scene-> addItem (this)», чтобы добавить фон к сцене. однако при запуске проекта сообщается, что элемент уже добавлен в сцену! вот единственное место, где я вызываю addItem.
Я также пытаюсь создать новые объекты из нескольких классов и поместить их в QList. Добавляя их, элементы вообще не появляются на сцене!
Вот класс:
class Test : public QObject, public QGraphicsPixmapItem{
Q_OBJECT
public:
Test(QGraphicsScene *s){
scene = s;
setPixmap(QPixmap("a.jpg"));
setPos(0, 0);
scene->addItem(this);
}
void mousePressEvent(QGraphicsSceneMouseEvent *event){
list.push_back(new A(QPixmap("b.png")));
scene->addItem(list.back());
}
private:
QGraphicsScene *scene;
}
P.S. A - класс, наследующий B, который сам наследует открытый QObject и открытый QGraphicsPixmapItem. Список также содержит пару объектов типа (B *).
пожалуйста, сделать его [mcve] (http://stackoverflow.com/help/mcve) .. Сделать другой проект с наименьшим количеством кода, вызывающим вашу проблему .. есть много недостающего кода (что такое myCardDeck, spc :: cardNo ...) .. btw несколько ifs выглядит ужасно – nayana
@otopolsky Вот это и право. Это именно то, что я делаю. – Athena
Есть ли у вас код, похожий на «scene-> addItem (новый тест (сцена))? Без [mcve] (http://stackoverflow.com/help/mcve) в соответствии с просьбой @otopolsky, лучшее, что может сделать, это догадываться. –