2011-11-25 47 views
8

Creo la ventana principal usando la clase QWidget y el indicador de la ventana de configuración en Qt :: CustomizeWindowHint (para deshabilitar la barra de título). Pero que encontré un problema, cuando hago clic en el botón de mi programa en la barra de tareas de Windows, el programa no se minimiza ni se maximiza. ¿Qué puedo hacer para eliminar este problema? Uso Windows 7. Lo siento 4 mi inglés malo.Qt C++ minimiza y maximiza la ventana

Respuesta

12

Esa es la función de Qt :: CustomizeWindowHint.When usar esta bandera ventanas, difícilmente se puede controlar el window.What puede probar es la adición de dos botones a su ventana y conectarlos a showMaximized() y showMinimized (). Luego puede maximizar o minimizar la ventana haciendo clic en los botones.

+0

gracias por la respuesta. Creo botones (minimizar y maximizar) en mi programa, todo funciona bien. Pero aún no puedo minimizar la ventana del programa haciendo clic en el botón de la barra de tareas. ¿Puedo eliminar la barra de título de la ventana, pero no descartar minimizar funcional? – Outsider

+0

Los indicadores de ventana que usa simplemente desactivan el evento del mouse, lo que significa que si hace clickear en su ventana, Windows simplemente deja que 'pase' en lugar de 'golpear' la ventana. Si quiere intentarlo, creo que debe usar Qt: : FramelessWindowHint y vuelva a implementar su propia función de evento de mouse.This artículo puede ayudarlo: [link] http://blog.csdn.net/yiyaaixuexi/article/details/6362865 @Ramix – user957121

3

Esta respuesta es hace un tiempo, pero me enfrenté al mismo desafío ahora y podría encontrar una solución. Tal vez es útil para otra persona. Como se propuso antes, se debe especificar Qt::FramelessWindowHint en lugar de Qt::CustomizeWindowHint. Esto también oculta el título y el borde de la ventana. Para seguir teniendo la función minimizar/maximizar, adicionalmente especifiqué Qt::WindowSystemMenuHint, Qt::WindowMinimizeButtonHint y Qt::WindowMaximizeButtonHint. ¡Eso es!

Cuestiones relacionadas