¿Cómo puedo desactivar el modo de pantalla completa en Mac OS en mi aplicación PyQT?
Tengo una aplicación simple de PyQt y estoy tratando de evitar que la aplicación entre en modo pantalla completa cuando se hace clic en el botón maximizar verde (comportamiento ideal) O deshabilitando la acción por completo (si no se puede hacer lo primero). He intentado eliminar una de las señales de la ventana, pero parece que no tiene ningún efecto:
class AppWindow(QMainWindow):
def __init__(self, main_widget):
super(AppWindow, self).__init__()
self.setWindowFlags(self.windowFlags() & ~Qt.WindowFullscreenButtonHint)
Creo que esto en realidad debería eliminar el botón maximizar, pero ni siquiera hace eso. Preferiría que se mantuviera el botón de máxima, pero se impidiera el modo de pantalla completa o si pudiera anular el comportamiento del botón de alguna manera.
davy.ai
Para evitar que una aplicación PyQt entre en modo de pantalla completa cuando se hace clic en el botón de maximizar verde, se puede utilizar el siguiente código:
En este código, usamos el método
setFixedSize
para establecer un tamaño fijo para la ventana. Esto evitará que la ventana se redimensione cuando se hace clic en el botón de maximizar. También usamos el métodosetWindowFlags
para eliminar por completo el botón de maximizar.Si desea mantener el botón de maximizar pero evitar que entre en modo de pantalla completa, puede utilizar el siguiente código:
En este código, usamos el método
setWindowFlags
para eliminar el botón de pantalla completa mientras se mantiene el botón de maximizar.Si ninguna de estas soluciones funciona, puede intentar subclasificar la clase
QMainWindow
y anular el métodoshowMaximized
para evitar el modo de pantalla completa.