Menú q de fuente QT
Cree un nuevo programa de ventana y luego cree un objeto QMenu. Inicializado en el constructor.
menu = new QMenu("Menú", this); //El menú se declara en el archivo de encabezado
q action * action = new q action(tr(" 1111 " ), this); //Para hacer el directorio más grande y visible, agregamos una operación.
Menú->;addAction(action);
Luego verifique el efecto en mousePressEvent.
void dialog::mousePressEvent(QMouseEvent *e)
{
if (e-gt;Button() == Qt::RightButton)/ / Botón derecho del ratón. Evite no poder cerrar la ventana.
{
QPoint p(0,0);
//Menu-gt;exec(p);//Para realizar pruebas, las coordenadas son relativas al Escritorio
Menu->;exec(e-gt;global pos()); //Las coordenadas son relativas a la ventana
//Menu-gt;exec(e- gt; pos()); //Las coordenadas son relativas al escritorio
}
}
Como puedes ver, no importa cómo se mueva la ventana. , el menú pos siempre aparece en el mismo lugar. GlobalPos se mueve en relación con la ventana.