私は今のところ本当に立ち往生しています..私のアプリケーションは、クリックで(アニメーション)フレームを作成できます。これらのフレームは、移動、削除、または編集できます。それらを削除するには、ある種の右クリックコンテキストメニューが必要です。
私の試みは、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* item) のパラメーターを itemClicked(FrameItem* item) に変更すると、シグナルは発生しなくなります。
itemClicked() スロットを上書きする必要がありますか? はいの場合、どのように?多くのデータを保存し、右クリックのコンテキストメニューを提供するためのより良いアプローチはありますか?