• 6656阅读
  • 3回复

qt中弹出菜单如何捕捉区域 [复制链接]

上一主题 下一主题
离线ppdog
 
只看楼主 正序阅读 楼主  发表于: 2008-03-20
— 本帖被 XChinux 执行加亮操作(2008-03-21) —
qt中弹出菜单如何捕捉区域?
我想只在listview的节点listviewitem上点右键时才弹出这个菜单。
我现在实现了弹出菜单,但是是全局的,在界面任何地方点右键都会弹出,问如何调整才能实现上面的功能?

请高手指点!
离线XChinux

只看该作者 3楼 发表于: 2008-03-21
部件有四种不同类型的弹出菜单方式,选择其中的一种即可。
退出菜单类型不同,使用的方法也不同。

// contextMenuPolicy 为CustomContextMenu 类型时要弹出的菜单
popupMenu = new QMenu(lineEdit_2);
QMenu *menuEdit = popupMenu->addMenu("Custom Menu 1");
menuEdit->addAction("Custom Menu 11");
menuEdit->addAction("Custom Menu 12");
menuEdit->addAction("Custom Menu 13");


void Form::on_lineEdit_2_customContextMenuRequested(const QPoint &pos)
{
popupMenu->popup(lineEdit_2->mapToGlobal(pos));
}
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线lsyer

只看该作者 2楼 发表于: 2008-03-21
也可以使用这个类的contentmenu方法。
离线lsyer

只看该作者 1楼 发表于: 2008-03-21
listviewitem的mousePressEvent可以实现,应该还有其它更方便的方法,你再想想。
快速回复
限100 字节
 
上一个 下一个