Red de conocimiento informático - Problemas con los teléfonos móviles - Menú q de fuente QT

Menú q de fuente QT

Lo entendiste mal. Este último es relativo a la ventana y el primero es relativo a todo el escritorio.

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.