2011-11-25 11 views
8

Tworzę główne okno, używając klasy QWidget i flagi okna konfiguracji do Qt :: CustomizeWindowHint (aby wyłączyć pasek tytułu). Ale gdy natknąłem się na problem - po kliknięciu na przycisk programu na pasku zadań Windows - program nie zminimalizuje i nie zmaksymalizuje. Co mogę zrobić, aby usunąć ten problem? Używam Windows 7. Niestety 4 mój zły angielski.Qt C++ okno minimalizacji i maksymalizacji

Odpowiedz

12

To jest cechą Qt :: CustomizeWindowHint.When użyć tej flagi szyby, ledwie można kontrolować window.What można spróbować dodaje dwa przyciski do okna i podłączyć je do showMaximized() (i showMinimized). Następnie możesz zmaksymalizować lub zminimalizować okno, klikając przyciski.

+0

dzięki za odpowiedź. Tworzę przyciski (minimalizuj i maksymalizuj) w moim programie, wszystkie działają dobrze. Ale nadal nie mogę zminimalizować okna programu, klikając przycisk na pasku zadań. Czy mogę usunąć pasek tytułu z okna, ale czy odrzucenie nie zminimalizuje funkcjonalności? – Outsider

+0

Flagi okien, których używasz, wyłączają tylko zdarzenie myszy, co oznacza, że ​​jeśli klikniesz swoje okno, Windows po prostu przepuścił je, zamiast "uderzyć" w okno. Jeśli chcesz spróbować, myślę, że musisz użyć Qt: : FramelessWindowHint i ponownie wdrożyć własną funkcję zdarzenia myszy.Ten artykuł może pomóc: [link] http://blog.csdn.net/yiyaaixuexi/article/details/6362865 @Ramix – user957121

3

Ta odpowiedź już dawno temu, ale stanąłem teraz przed tym samym wyzwaniem i mogłem znaleźć rozwiązanie. Może to pomocne dla kogoś innego. Zgodnie z wcześniejszym zgłoszeniem należy podać Qt::FramelessWindowHint zamiast Qt::CustomizeWindowHint. To również ukrywa tytuł i obramowanie okna. Aby nadal korzystać z funkcji minimalizacji/maksymalizacji, dodatkowo określam Qt::WindowSystemMenuHint, Qt::WindowMinimizeButtonHint i Qt::WindowMaximizeButtonHint. To jest to!

Powiązane problemy