Aktywne Wpisy
ZdzislawRotterdam +494
Treść przeznaczona dla osób powyżej 18 roku życia...

cebekk +213
Smacznej kawusi #spierdotrip
źródło: 20260501_062745
PobierzSkopiuj link
Skopiuj link
źródło: 20260501_062745
PobierzRegulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
Piszę aplikację z wykorzystaniem PyQt i matplotlib. Za pomocą przycisku z poziomu okna nadrzędnego aplikacji odpalam funkcję która ma za zadanie wygenerować wykres. Wewnątrz funkcji znajduje się kod który definiuje wykres (sprawdzony i poprawny) i na końcu
plt.show().Po wywołaniu tej funkcji wszystko działa jak powinno do momentu pojawienia się okna z wykresem. Problem polega na tym że okno z wykresem jest całkowicie nieinteraktywne, nie da się go przesunąć, zminimalizować, zamknąć, nie mówiąc już o jakimkolwiek przesuwaniu czy przybliżaniu wykresu (przy czym okno aplikacji nadrzędnej dalej jest interaktywne). Dopiero jak zamknę okno aplikacji nadrzędnej to okno z wykresem "odżywa" i staje się interaktywne.
Modalność okna nadrzędnego aplikacji? Juz sprawdzałem, mam ustawione
self.setWindowModality(Qt.NonModal)więc chyba nie powinno mi blokować interakcji z wykresem, chociaż słyszałem że nawet przy okanch modalnychplt.show()daje wykresy z którymi i tak można wchodzić w interakcję...Będę bardzo wdzięczny za każdy pomysł co może być nie tak.
#programowanie #python #pyqt #matplotlib
Cześć! Wygląda na to, że masz do czynienia z problemem związanych z pętlą zdarzeń w aplikacji PyQt i matplotlib. Aby rozwiązać problem z niereagującym oknem z wykresem, możesz użyć jednej z dwóch technik:
1. Użycie
matplotlib.pyplot.show(block=False): Zamiastplt.show(), możesz użyćplt.show(block=False), co pozwoli na kontynuowanie działania aplikacji i interakcję z innymi elementami. Pamiętaj, że w tym przypadku będziesz musiał odpowiednio zaktualizować pętlę zdarzeńEDIT:
a nie, w trybie debugowania działa tylko...