Tengo un QWidget personalizado y simplemente no quiero que se muestre en la barra de tareas. Tengo un QSystemTrayIcon para gestionar la salida/minimización, etc.Qt Ocultar elemento de barra de tareas
Respuesta
Creo que lo único que necesita aquí es algún tipo de widget de marcador principal. Si creas tu widget sin un padre, se considera una ventana de nivel superior. Pero si lo crea como hijo de una ventana de nivel superior, se considera una ventana secundaria y no recibe una entrada de la barra de tareas per se. La ventana padre, por otro lado, también no recibe una entrada de la barra de tareas, porque nunca antes ha establecido visible: Este código aquí funciona para mí:
class MyWindowWidget : public QWidget
{
public:
MyWindowWidget(QWidget *parent)
: QWidget(parent, Qt::Dialog)
{
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow window;
MyWindowWidget widget(&window);
widget.show();
return app.exec();
}
Ninguna entrada barra de tareas se muestra cada vez, si esto es que desea destinado a.
Si desea mostrar/ocultar el widget sin mostrarlo nunca en la barra de tareas, podría verificar los marcadores de ventana de ese widget. No estoy 100% seguro, pero creo que utilicé Qt::Dialog
| Qt::Tool
y Qt::CustomizeWindowHint
para lograr esto, pero mi ventana no estaba totalmente decorada también. Otra cosa que debes tener en cuenta si juegas es la política de salida de tu aplicación. Cerrar/Ocultar el último toplevel-window normalmente saldrá de su aplicación, por lo que tal vez necesite llamar al QApplication::setQuitOnLastWindowClosed(false)
para evitar que ...
código Python a achive esto:
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
class MainWindow(QWidget):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent, Qt.Tool)
window = MainWindow()
window.show()
Sólo hay que establecer Qt :: bandera subventana de widgets.
Esta es definitivamente la respuesta más fácil. Funciona para mí con Qt5. – TheSHEEEP
Es una buena solución si su ventana no tiene marco. Si lo hace, entonces no tendrá los botones predeterminados de Windows (cerrar, maximizar, minimizar). – Szpaqn
¿Dónde coloco este código? ¿Puedes dar un ejemplo más detallado? – GeneCode
- 1. Win32: de pantalla completa y ocultar barra de tareas
- 2. Ocultar la aplicación PyQt de la barra de tareas
- 3. Mostrar un elemento de barra de tareas con NativeWindow
- 4. Cómo ocultar el elemento uibarbutton de una barra de navegación
- 5. Ocultar barra de notificaciones
- 6. ¿Cómo puedo ocultar el formulario de mi aplicación en la barra de tareas de Windows?
- 7. Ocultar el botón de la barra de tareas de otra aplicación
- 8. Ocultar barra de título NSWindow
- 9. Barra de navegación mostrar/ocultar
- 10. MPMoviePlayerViewController Ocultar barra de estado
- 11. QT barra de progreso velocidad
- 12. Application.MainFormOnTaskbar: = False; no ocultar la aplicación de la barra de tareas
- 13. Eliminar/Ocultar la aplicación java de la barra de tareas/dock
- 14. ¿Cómo ocultar una entrada en la barra de tareas pero mantener la forma de la ventana?
- 15. Cómo ocultar un JFrame en la bandeja del sistema de la barra de tareas
- 16. Win32: Cómo ocultar ventanas de terceros en la barra de tareas por hWnd
- 17. ¿Cómo mostrar el progreso en la barra de tareas de Windows 7 (usando Qt)?
- 18. ¿Integre Qt con la barra de tareas de Windows 7 utilizando Python?
- 19. Qt ocultar minimizar, maximizar y cerrar botones
- 20. barra de tareas de Windows 7 progreso
- 21. Ocultar barra de menús de Eclipse (ocultar automáticamente)
- 22. Ocultación winforms aplicación desde la barra de tareas
- 23. Qt/win: showMaximized() solapando la barra de tareas en una ventana sin marco
- 24. Iconos de barra de tareas de Windows 7 Resaltar Color
- 25. Cómo ocultar javascript window.open barra de direcciones/barra de direcciones?
- 26. Android: mostrar/ocultar la barra de estado/barra de estado
- 27. Qt Mostrar/Ocultar animación de widget
- 28. Aplicación en la barra de tareas
- 29. Insertar en la barra de tareas
- 30. Cubra la barra de tareas con VB
Estaba enfrentando esto con una aplicación y después de leer me di cuenta de que el problema era que alguien cometiera una creación de objeto con este objeto. Fue un error para mí. Eliminé 'this' y la aplicación funcionó perfectamente, es decir, la entrada de la barra de tareas regresó. Gracias. – Yash