#cpp #qt

http://zetcode.com/gui/qt5/snake/

Mamy tutaj taki przykładzik. Czy to jest normalne, że klasa ze stanem aplikacji dziedziczy po QWidget? Pytam w takim sensie, czy tak ludzie robią przy normalnych aplikacjach biorąc pod uwagę rozdzielenie logiki od prezentacji.

Na
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak zapewne wiesz projekt w Qt to dość sporo plików a nie kilka linijek jak w PHP.


@defoxe: projekt w Qt może być zarówno w jednym .cpp jak i w wielu plikach, w swoim poście napisałeś "w aplikacji jest użyty tylko webengine", co sugeruje stosunkowo prosta aplikację. i skąd ta deprecjacja PHP, język jak język. facebook to aplikacja na kilka linijek?

i ja to chyba jestem nienormalny, że patrzę po
  • Odpowiedz
i skąd ta deprecjacja PHP


@MamCieNaHita: jaka deprecjacja? Nie oburzaj się tak... Konstrukcję ma trochę jednak sam w sobie prostszą. Wyświetlenie hello world w php a qt jednak ma inną długość kodu i złożoność całego procesu. O to mi tylko chodziło.

projekt w Qt może być zarówno w jednym .cpp jak i w wielu
  • Odpowiedz
#linux #debian #qt

przy odapalaniu programu w Qt

/usr/lib/x8664-linux-gnu/libQt5Core.so.5: version `Qt5.10' not found (required by

zrobiłem apt-get install qt5-default i to nie wystarcza
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@defoxe: dla pewności - na pewno próbujesz wywowłać setSizePolicy z parametrem? (błąd może być o braku bezparametrowej); poza tym możesz spróbować zawołać mainWindow->setCentralwidget(view2), jeżeli chciałbyś wypełnić okno (i jeżeli okno jest QMainWindow)
  • Odpowiedz
Mirasy, taka refleksja mnie naszła czy dobrze robię aplikację w #qt ... Używam qt #embedded i robie gui do sterowania maszyna. Generalnie wszystko mi działa itp już długi czas, ale ostatnio wprowadzam troche zmian i zacząłem się zastanawiać czy dobrze to zrobiłem. Potrzebuję mieć kilka okienek z buttonami, które użytkownik naciska, żeby włączyć wybrany tryb maszyny (czasem jest jeszce kilka okien z podtrybami zanim dojdzie do wybranego gui).
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Razi91: Ok, dzieki.
Ja QTcreatora lubię, ale ogólnie to lubię kodować w VIM, więc nie jestem bardzo wymagający. Eclipsa też lubiłem, ale na niektorych systemach te wyloty javy mi go zdyskwalifikowały, ale to inny temat.
  • Odpowiedz
Robię aplikację w qt która ma wysyłać przez port szeregowy komendy do kilkudziesięciu urządzeń. Po wciśnięciu przycisku start zaczynam wysyłać zadane wcześniej komendy po kolei do wszystkich urządzeń. Po wysłaniu komendy czekam na odpowiedź urządzenia. Robię to funkcją waitForReadyRead, niestety powoduje to zablokowanie GUI i nie mogę zatrzymać operacji w trakcie działania. Czytałem na temat wątków, ale raczej to nie pomoże przy stosowaniu wyżej wymienionej funkcji. W skrócie: jest pętla for która
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Chandox: poczytaj o sygnałach i slotach w qt, podepnij się pod sygnał QSerialPort::readyRead
EDIT: w sumie to nie wiem jak odczytujesz potem te dane bez podpięcia się pod ten sygnał, ale może po prostu wywal tego waita?
  • Odpowiedz
@Chandox: Robienie osobnego wątku w Qt nie jest trudne ale dopóki nie obrabiamy dużej ilości danych to tylko jest niepotrzebne i tylko zajmuje zasoby.
Jednak czekanie na cokolwiek co może zawiesić UI powinno być robione przez sygnały.
QSerialPort::readyRead zgłasza ci że są nowe dane, ale nie robi tego gdy obsługujesz więc bezpiecznie niczego nie pominiesz. Jeżeli nie czytasz wszystkiego co już przyszło poprzez readAll() to by nie zawiesić wątku powinieneś sprawdzić
  • Odpowiedz
Piszę sobie prostą gierkę w Qt. Mam klasę Game w której trzymam podstawowe elementy gry i QGraphicsScene. Na początku dałem ekran z napisem "naciśnij spację, aby rozpocząć grę". Tutaj wykrywane jest jej naciśnięcie i wszystko działa.

Później robię scene->clear i wpakowuje tam wtedy to co ma być widoczne podczas samej gry (w tym element, którym będziemy się poruszać się za pomocą strzałek). Ten element jest obiektem danej klasy, która ma w sobie
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@erajwa: Przy łączeniu za pomocą connect(...) to wiem jak zrobić disconnect(), ale tutaj wygląda to trochę inaczej, więc jakoś nie widzę sposobu jak to zdiscconectować. Myślałem nad ręcznym łączeniu sygnału KeyPress i potem po wywołaniu rozłączeniu tak jak mówisz, ale nie mogę znaleźć jak wygląda (o ile istnieje) sygnał przy naciśnięciu przycisku.
  • Odpowiedz
#debian #qt

Co to się to stanęło?

error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory


apt-get
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@defoxe dyski tanie, praca programisty droga
Qt to framework crossplatformowy, jak chcesz native pisać to .net i wtedy wszystkie zależności są już w Windowsie ( ͡º ͜ʖ͡º)
  • Odpowiedz
#programowanie #qt #pytanie

Przeniosłem się z Debiana na Windows 7 z kodem napisanym w Qt.
Kompiluje, wszystko pięknie. Odpalam aplikację i Qt5core.dll nie znaleziono. No dobra... Fajnie, fajnie.
Ja pomijam, że na tej stacji roboczej jest zainstalowane środowisko Qt i bardziej bym się spodziewał takiego komunikatu na jakimś innym PC. No ale tak czy inaczej - jak to rozwiązać?
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Przesunąłem przycisk i aktualny stan konta z dołu na bok, identyfikatory dla każdej transakcji, dodałem obsługę edycji transakcji i wstępne CI na Windowsa(wymaga dopracowania, chociażby kopiowanie wymaganych plików DLL) bo na Linuxa to już od dłuższego czasu działa. Następne w kolejności są:
- usuwanie rekordów
- kategorie
- opcje
- wykresy

Jakieś
Leinnan - Przesunąłem przycisk i aktualny stan konta z dołu na bok, identyfikatory dl...

źródło: comment_X1BNGaLCkOw94gQP6G6hNcjFnlCvZXFP.jpg

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

sobie chciałem skrobnąć jakieś hello world w OpenGL #linux #debian w #qt
jednak gl/GLU.h brak.

Porobione apt-get install mesa-common-dev libglu1-mesa-dev freeglut3-dev
co by tu jeszcze trzeba?
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Witam,
mam pytanie odnośnie programowania w Qt. Posiadam projekt, w którym są zapisane pliki .cpp i .h. Niestety nie ma w nim pliku .ui, który odpowiada za rozmieszczenie GUI. I moje pytanie, czy jest możliwość, by w jakiś sposób "przekonwertować" interfejs z pliku .h do .ui?
Z góry dziękuję za odpowiedź.

#qt #programowanie
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Android
  • 1
@vipe Tak, to wiem, tak właśnie chcę zrobić ;) Tylko jak przerobić potem .ui na .h to pytanie, na które nie znam odpowiedzi :)
  • Odpowiedz
@MisiekD: Jak dasz "New Qt Designer Form Class" (ważne - z "Class", bo jest też wersja bez Class), to stwrzy wszystkie 3 pliki - cpp, h i ui, przy czym w h i cpp będzie tylko logika którą dopiszesz. Natomiast z pliku ui zostanie wygenerowany plik ui_*.cpp i skompilowany. Wygenerowaniem zajmie się qmake.
  • Odpowiedz