[Qt-interest] problem with QMenu signal/slot
Riccardo Roasio
riccardo.roasio at gmail.com
Thu Jun 16 16:20:02 CEST 2011
Hi,
QMenu action signal seems not to work for me but i think i did
something wrong...
Is here the code:
#ifndef CUSTOMTABLEWIDGET_H
#define CUSTOMTABLEWIDGET_H
#include <QTableWidget>
#include <QMenu>
#include <QMouseEvent>
#include "inputitem.h"
class CustomTableWidget : public QTableWidget
{
Q_OBJECT
public:
CustomTableWidget();
void mousePressEvent( QMouseEvent * event );
private:
public slots:
void AddNewItem();
};
#endif // CUSTOMTABLEWIDGET_H
#include "customtablewidget.h"
CustomTableWidget::CustomTableWidget()
{
}
void CustomTableWidget::mousePressEvent( QMouseEvent * event )
{
if(event->button()==Qt::RightButton)
{
QMenu *tmpMenu=new QMenu(this);
QAction* newItemAction = new QAction(tr("&Add New"),this);
connect(newItemAction, SIGNAL(triggered()), this, SLOT(AddNewItem()));
tmpMenu->addAction(newItemAction);
tmpMenu->exec(event->globalPos());
}
}
void CustomTableWidget::AddNewItem()
{
InputItem *tmpInputItem=new InputItem();
int maxRows=this->rowCount();
this->setColumnCount(maxRows+1);
this->setCellWidget(maxRows,0,tmpInputItem);
}
More information about the Qt-interest-old
mailing list