Я действительно застрял в данный момент. Мое приложение может создавать (анимационные) кадры щелчком, эти кадры могут быть перемещены, удалены или отредактированы. Мне нужно какое-то контекстное меню правой кнопки мыши, чтобы удалить их.Реализация пользовательского QListWidgetItem?
Моя попытка теперь создать QListWidget и вставить туда QListWidgetItems (фреймы). Я могу разместить эти предметы там, но, конечно, я понятия не имею, как хранить фреймы.
Я попытался сделать новый класс, производный от QListWidgetItem так:
#pragma once
#include <qobject.h>
#include <QtGui>
#include <Frame.h>
class FrameItem : public QListWidgetItem
{
public:
FrameItem();
Frame frame;
void setFrame(Frame f);
Frame getFrame();
int id;
void setId(int id);
int getId();
};
Это на самом деле работает, но сигнал itemClicked() не вызывает больше.
void itemClicked(QListWidgetItem* item)
{
std::cout << item->text().toStdString() << std::endl;
};
Если изменить параметр itemClicked (QListWidgetItem * пункт) в itemClicked (FrameItem * пункт) сигнал не срабатывает больше.
Нужно ли перезаписывать слот itemClicked()? Если да, то как? Есть ли лучший способ хранения большого количества данных и дать им контекстное меню правой кнопкой мыши?
спасибо, это работает! – Amazonasmann