QToolButton样式设置

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;
}

你可能感兴趣的:(QT)