• 10638阅读
  • 3回复

[提问]关于QTableWidget控件右键菜单 [复制链接]

上一主题 下一主题
离线vitty1984
 

只看楼主 倒序阅读 楼主  发表于: 2011-06-13
关键词: widget
我现在用QTableWidget控件来手工填一些内容,然后保存,我的右键内容是“增加一行”和“删除一行”,这个功能怎么实现啊
离线ppdayz

只看该作者 1楼 发表于: 2011-06-13
要2个action, 在头文件中声明,可能后面要用到:
QAction *actionAddRow;
QAction *actionRemoveRow;
private slots:
void on_customContextMenuRequested(QPoint pos);

cpp里

tablewidget->setContextMenuPolicy(Qt::CustomContextMenu);
actionAddRow = new QAction(this);
actionRemoveRow = new QAction(this);

然后链接信号槽
connect(tablewidget, SIGNAL(customContextMenuRequested(QPoint),  this,  on_customContextMenuRequested(QPoint));




然后:
void xxxx::on_customContextMenuRequested(QPoint pos)
{


    tablewidget->addAction(actionAddRow);tablewidget->addAction(actionRemoveRow);    tablewidget->exec(QCursor::pos());
}


红字是关键


然后就实现actionAddRow 和actionRemoveRow就可以了

离线vitty1984

只看该作者 2楼 发表于: 2011-06-13
按照你的方法可以实现了,非常感谢
离线xiawae
只看该作者 3楼 发表于: 2012-01-13
那么actionAddRow 和actionRemoveRow槽函数里面怎么获取row信息呢?
快速回复
限100 字节
 
上一个 下一个