1.取消添加菜单时出现箭头
QToolButton::menu-indicator {
image: none;
}
2.自定义菜单出现位置
2.1方法一:
调用popup§/exec§;
设置点p即可
缺点只是显示,再次点击按钮,不会隐藏菜单
2.1方法二:
为menu安装事件过滤器
在父窗口重写过滤事件,menu move到对应位置
button = new QToolButton();
QMenu m_menu = new QMenu(ui.lineEdit_2);
m_menu->installEventFilter(this);
bool QtGuiApplication2::eventFilter(QObject *watched, QEvent *event)
{
if (watched == m_menu && event->type() == QEvent::Show)
{
QPoint p = button->mapToGlobal(button->pos());
//相对应屏幕左上角的坐标
m_menu->move(QPoint(p));
return true;
}
return false;
}