Mam niestandardowy QWidget i nie chcę, aby pojawiał się na pasku zadań. Mam QSystemTrayIcon do zarządzania wychodzeniem/minimalizowaniem itp.Qt Ukryj pasek zadań Pozycja
Odpowiedz
Myślę, że jedyną rzeczą, której potrzebujesz, jest jakiś rodzimy widżet zastępczy. Jeśli utworzysz widżet bez rodzica, będzie on uważany za okno najwyższego poziomu. Ale jeśli utworzysz go jako element podrzędny okna najwyższego poziomu, jest on traktowany jako okno potomne i nie ma wpisu na pasku zadań jako takiego. Okno nadrzędne, z drugiej strony, również nie uzyskać wpis na pasku zadań, ponieważ nie można ustawić to widoczne: Ten kod działa dla mnie tutaj:
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();
}
No entry pasek zadań jest zawsze wyświetlane, jeśli jest to żebyś zamierzony.
Jeśli chcesz pokazać/ukryć widżet, nie pokazując go na pasku zadań, możesz sprawdzić okienko okien tego widgetu. Nie jestem w 100% pewny, ale myślę, że użyłem Qt::Dialog
| Qt::Tool
i Qt::CustomizeWindowHint
, aby to osiągnąć, ale moje okno nie było w pełni urządzone. Inną rzeczą, o której możesz pamiętać, jeśli grasz z tym, jest polityka wyjścia aplikacji. Zamykanie/ukrywanie ostatniego okna pomocy zazwyczaj kończy działanie aplikacji, więc może musisz zadzwonić pod numer QApplication::setQuitOnLastWindowClosed(false)
, aby temu zapobiec ...
kod Pythona do achive to:
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()
Wystarczy ustawić Qt :: flaga podokno dla widgetu.
To zdecydowanie najłatwiejsza odpowiedź. Działa dla mnie z Qt5. – TheSHEEEP
To dobre rozwiązanie, jeśli Twoje okno nie ma ramki. Jeśli tak, to nie będziesz mieć domyślnych przycisków Windows (zamknij, zmaksymalizuj, zminimalizuj). – Szpaqn
Gdzie mogę umieścić ten kod? Czy możesz podać bardziej szczegółowy przykład? – GeneCode
- 1. Ukryj pasek zadań w Windows 8
- 2. Ukryj pasek UIToolbar UIBarButtonItems
- 3. Pasek stanu Ukryj Cordova
- 4. Ukryj pasek przewijania HorizontalScrollView
- 5. Ukryj pasek powiadomień
- 6. Ukryj pasek akcji, pokazując podzielony pasek akcji
- 7. Ukryj dolny pasek Kontroler nawigacji
- 8. GWT - ukryj poziomy pasek przewijania
- 9. Qt Pokaż/ukryj animację widgetu
- 10. Qt Ukryj kolumnę w QTableView
- 11. Windows 7 Pasek zadań Pasek narzędzi lub pasek narzędzi
- 12. Jak programowo przenieść pasek zadań systemu Windows?
- 13. Ukryj pasek indeksu podczas wyszukiwania UITableView
- 14. Trwale ukryj pasek nawigacyjny w działaniu
- 15. Ukryj pasek UITabBar, gdy zmiana orientacji
- 16. Ukryj pasek czynności podczas przewijania listview
- 17. ukryj pasek narzędzi WebStorm pokazujący ikony przeglądarki
- 18. Ukryj pasek przewijania w przeglądarce Firefox
- 19. Ukryj pasek kart w aplikacji IOS Swift
- 20. "Ukryj" pasek kart podczas przesuwania widoku
- 21. Ukryj pasek narzędziAndroid podczas przewijania listview
- 22. Pasek narzędzi Android pokaż/ukryj pustą przestrzeń
- 23. NET ukryj pasek tytułowy, ale zachować granica
- 24. Ukryj pasek przewijania z przepełnieniem: włącz przewijanie
- 25. Ukryj kartę poprzednio dodaną do Qt TabWidget
- 26. Qt ukryj przyciski minimalizacji, maksymalizacji i zamknięcia
- 27. FlashWindowEx FLASHW_STOP nadal utrzymuje kolorowy pasek zadań
- 28. Połączyć pasek narzędzi i pasek tytułu w Qt
- 29. Usuń/ukryj aplikację java z paska zadań/stacji dokującej
- 30. Ukryj pionowy pasek przewijania w poziomie ale nie pionowy
Stawałem w obliczu tego z jedną z aplikacji i po przeczytaniu zdałem sobie sprawę, że problem polegał na tym, że ktoś popełnił tworzenie obiektu za pomocą tego obiektu. To był błąd dla mnie. Usunąłem "to" i aplikacja działała idealnie, tzn. Wraca wpis na pasku zadań. Dzięki Ci. – Yash