我正在尝试为rpg(角色扮演游戏)(npc /任务/物品等)编写编辑器。我需要创建一个带有“白色背景”的图标,该图标代表NPC的图像。它应该是可单击的(单击时,将根据选择设置当前选定的npc的图标ID)。
我设法建立了一个弹出对话框来显示所有图标,但是找不到设法创建可点击图标的方法。我应该实现哪个类才能使其正常工作?
最佳答案
可点击的QLabel:https://wiki.qt.io/Clickable_QLabel
与QPixmap一起使用:http://doc.qt.io/qt-4.8/qlabel.html#pixmap-prop
header
class ClickableLabel : public QLabel
{
Q_OBJECT
public:
explicit ClickableLabel( const QString& text="", QWidget* parent=0 );
~ClickableLabel();
signals:
void clicked();
protected:
void mousePressEvent(QMouseEvent* event);
};
资源
ClickableLabel::ClickableLabel(const QString& text, QWidget* parent)
: QLabel(parent)
{
setText(text);
}
ClickableLabel::~ClickableLabel()
{
}
void ClickableLabel::mousePressEvent(QMouseEvent* event)
{
emit clicked();
}
关于c++ - Qt:我应该使用哪个对象/项目来创建可点击图标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41229369/