Cześć, mam problem z aplikacją w Pythonie.

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
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@notrzeba: chat gpt nie pomogl?

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): Zamiast plt.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ń
  • Odpowiedz
Cześć. Mam pytanie odnośnie kodowania w PyQt5 przycisku pomocy z window bara. Tworzę sobie GUI i chciałbym zaprogramować przycisk z pic1 tak żeby wyświetlał mi tekst gdy użyje się go na jakimś obiekcie w oknie. Obecnie wyświetla mi "pustą notatkę" jak na pic2 i nie mogę znaleźć kompletnie informacji jak cokolwiek do tej notatki dodać. Byłbym wdzięczny za jakąś wskazówkę. Z góry dzięki ( ͡° ͜ʖ ͡°)

#
notrzeba - Cześć. Mam pytanie odnośnie kodowania w PyQt5 przycisku pomocy z window ba...

źródło: pic

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

konto usunięte via Wykop Mobilny (Android)
  • 0
@alteron:
Usuń nawiasy. Masz podać tam funkcję,a nie ją wywołać. Twoje thebuttonwasclicked nie zwraca nic = zwraca None, więc ostatecznie jest button.clicked.connect(None) = wyjątek
  • Odpowiedz
Właśnie piszę aplikację w #pyqt #qt i siedzę już nad nią bite 40h nieprzerwanego kodzenia. Mam 3500 linii kodu (review zostawiłby wiele do życzenia), obsługę pysftp, hashlib, csv, paramiko, cx_oracle, os, fabric.
Wcześniej dziubałem skrypty w #python tak o dodatkowo dla zabawy, ale jak zobaczyłem, że to wszystko można wstawić w okienka... I to taka banalna sprawa bo pod zwykłym przyciskiem jest wywołanie funkcji. (
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

z perspektywy osoby uczącej się, czy ja wiem czy źle z doświadczenia wiem, że nawet jak jest sobie projektowana aplikacja z rozbudowaną dokumentacją, to jak przychodzi nowy team, to chce ją zaorać i robić po swojemu z nowym sdk itp. itd. :D


@zortabla_rt: No tak, były w tej bajce smoki? Dużego projektu nie widziałeś na oczy chyba. Coś kiepskie te Twoje doświadczenie ( ͡~ ͜ʖ ͡°)
  • Odpowiedz
Mam problem, w mojej aplikacji otwieram okno z ustawieniami i chciałbym żeby się zamknęło gdy kliknę przycisk, ale nic nie działa

Próbowałem chyba wszystkich rozwiązań ze stacka, ale nic nie działa
Kod do programu (tylko jedno okno, które chce zamknąć https://hastebin.com/uvikacabuj )
Aplikacja zrobiona w PyQt5
W 26 lini wywołuje self.close(), ale nic to nie daje
#programowanie #python #pyqt #pyqt5
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #macos #python #pyqt #pyqt5 #pyinstaller #bigsur

Prawdopodobieństwo równe zeru, że ktoś coś, no ale do rzeczy. Mam aplikację w PyQt5, którą sobie z powodzeniem pakuję pyinstallerem do makowego bundla .app na High Sierrze i na każdym kolejnym macOS ładnie śmiga. Problem się zaczyna na Big Sur. Aplikacja niby działa i startuje, tworzy pliki, wypluwa coś tam na
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@zwei: a nie, dobra chyba coś znalazłem xd zawsze tak jest, nasmarujesz post na wykopie, to zaraz rozwiązanie samo się znajduje
  • Odpowiedz
@zwei: nie zlicze ile razy mialem sytuacje, że zacząłem pisać pytanie odnośnie jakiegoś problemu i po wypisaniu wszystkiego co wiem na temat problemu znalazłem przy okazji błąd albo błędne założenie, ktore pozwolilo mi wyjsc z tarapatow
  • Odpowiedz
#python #matplotlib #statystyka #pyqt #programowanie
Potrzebuję umieścić w PyQt wykres critical difference. Próbowałem wykorzystać do tego bibliotekę Orange, ale ona pozwala tylko na wyrysowanie wykresu, a nie mogę go umieścić w PyQt. Inne wykresy działają. Ktoś zmagał się z podobnym problemem?
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@F0rT3hW1n: Robiłem w ten sposób i rzeczywiście zwykłe wykresy działały, ale przy tym z Orange miałem problem. Nie pamiętam już dokładnie jaki, ale chyba było coś w rodzaju, że to co rysuję w Orange nie ma elementu canvas.
  • Odpowiedz
@dylo: prawdopodobnie wszystkie dane, które rysuje Orange znajdują się w obiekcie klasy, więc można je wyciągnąć a mając dane można je sobie wyrysować jak tylko chcesz
  • Odpowiedz
@lionbest: Znasz jakąś książkę z dobrym wstępem do zrozumienia o czym piszesz. U mnie problem jest w tym, że nie rozumiem podstaw. I nie mogę znaleźć wytłumaczenia jak to wszystko działa. (Swoją drogą zadziałało to co napisałem -- ale nie wiem do końca dlaczego ( ͡º ͜ʖ͡º) ) Interesuje mnie głownie python Qt i C/C++ więc najlepiej jak by to było na przykładzie właśnie tych
  • Odpowiedz
@lionbest: No wlasnie. Sygnały nie działają. Ja go nie muszę w sumie kończyć. Ale chce swój własny sygnał, którym cos, cokolwiek przyśle do DamTerm'a. W przykładzie używam dwóch sygnałów (testt oraz pasInfo) i żaden nie drukuje nic na wyjściu standardowym. Pomimo że sama metoda run się uruchomiła.
  • Odpowiedz
@lionbest: Przykład jest okrojony (dlatego nie ma sensu). Spodziewałem się wyniku:
Start!
TESTETT!
To się nie wyświetla
To się
  • Odpowiedz
Hej mam klasę która dziedziczy z QThread i wykonuję coś takiego:

self.quit()
self.exit()
print("Po exit?")

Moim zdaniem print się nie powinien wykonać nigdy.
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@xaoc: Zwykle w programowaniu używa się flag do zasygnalizowania chęci ubicia wątku. Podejrzewam, że te funkcje ustawiają taką właśnie flagę, a wątek faktycznie ubijany jest w innym momencie. To są tylko moje przypuszczenia, bo w Qt się nie bawiłem, ale mechanizmy zazwyczaj są podobne.
  • Odpowiedz
A skoro ten wątek nie ma nic więcej robić to co mam wywołać na nim samym wait()?


@xaoc: return (bo zakładam, że chodzi Ci o to jak nie wykonywać nic więcej w metodzie run() wątku)

Metody exit() i quit() są w QThread tożsame (tyle że quit() jest slotem, a exit() może jeszcze przyjąć kod wyjścia) i robią tylko tyle, że jeśli wcześniej w wątku wywołałeś exec() (czyli uruchomiłeś pętlę zdarzeń w tym
  • Odpowiedz
Witam.

Stoję przed teoretycznie prostym zadaniem pisząc w PyQt, o które rozbijam się już drugi dzień.
Chcę otworzyć 8 bitowym plik bmp (FormatIndexed8 ?),
nałożyć na niego tekst i zapisać bez zmiany parametrów (8 bit color depth i zachowane wartości kolorów).
Doki niestety mówią
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@qbek: Ale wiesz, ten format jest 8-bitowy i pozwala na użycie tylko 256 kolorów, wiec jeżeli używasz większej liczby to przy zapisie powstają jakieś zmiany.
  • Odpowiedz
@jedrus7: Można sprzedawać soft na licencji GPL. Możesz mi zapłacić za napisanie "hello world" na licencji GPL, dostaniesz binarkę oraz kod (wymóg GPL) - co z tym dalej zrobisz jest Twoją sprawą.

Jeśli to "hello world" udostępnisz np. jako usługę w sieci, za której wykorzystanie będziesz pobierał opłatę od użytkowników - nie ma problemu. Oni nie kupują oprogramowania, tylko usługę.
  • Odpowiedz
Cześć, posiadam #python v3.4 i właśnie zainstalowałem sobie #pyqt v4, jednak gdy chcę uruchomić przykładowy kod importując

from PyQt4 import QtGui, QtCore
Pojawia mi się błąd o treści

ImportError: DLL load failed: %1 nie jest prawidłową aplikacją systemu Win32
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@morsisko: Kodu z Designera się nie kopiuje :D

Możesz plik .ui skompilować do .py używając pyuic. Albo jeśli to jakaś prosta appka… to zrobić jak ja i po prostu ładować plik .ui wewnątrz pythona.

class MainWindow(QMainWindow):
....def
  • Odpowiedz