Cześć Mirki z #qt i #programowanie

Robię desktopową plikację w QML. Potrzebuję zrobić listę/tabelę o 15 wierszach. Każdy wiersz składa się z opisu, pola tekstowego i buttona, który ma aktualizować dane pole w strukturze w backendzie. Każdy wiersz to inne pole w strukturze. Jak Wy byście się za to zabrali?

Osobiście widzę kilka dróg i nie wiem co jest lepsze/czystsze.
1) Mogę to potraktować jako ListModel w QML, potem wyświetlić
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ale skoro chcesz mieć kilka takich samych wierszy z inputem i buttonem to chyba prościej jest użyć Repeatera albo ListView z delegatką która powiedzmy bedzie wyświetlać nazwę zapisaną w role name oraz ustawiać role o nazwia value.

Da się prosto przekształcić pola w strukturze w listę z pól?


Jak masz wystawione poprzez Q_PROPERTY to wszystko da sie dynamicznie zrobić.
A jeżeli masz korzystasz z jakiejś innej serializacji to może ona mieć dynamiczne
  • Odpowiedz
Mirki, szukam pomocy z programowania w #qt #cpp. Potrzebny mi szkielet aplikacji i ewentualne wsparcie jak już bym dalej sam pisał. Dla osoby ogarniętej pewnie nie będzie to trudne. Płacę jak za prezydenta. Jeśli ktoś chętny to proszę o wiadomość prywatną.
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak zrobić w QT, aby zawsze wybierana była ścieżka do pliku, gdzie się on aktualnie znajduje? Próbowałem z QCoreApplication::applicationDirPath(), ale zwraca mi ścieżkę z folderami typu Contents/MacOS/... itp. W ustawieniach projektu też coś się starałem zrobić, ale nie do końca mi to wychodzi (wnioskuję z tego, że dalej ścieżka do pliku jest "dziwna")
#qt #cpp #programowanie
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Golem_Piotr: ze ścieżka chyba już sobie jakos poradziłem. Program to taka klasyczna todo lista i to co użytkownik wpisywał zapisywane było do pliku .txt. Jutro zerknę czy to co zaproponowałeś będzie okej, ale z tego co widzę to może się uda. Dzieki
  • Odpowiedz
@xyzzy: cl to kompilator Visuala, pewnie wybrałeś wersje dla VC i krzyczy że nie może go znaleźć.
Wybierz Qt 5.10.1 Mingw Albo zainstaluj darmowe Visual Compiler Build Tools (chyba lepiej niż Mingw).
Zakładka Projects (ikonka po lewo).
  • Odpowiedz
Jak przekazać dane z dodatkowego okna do okna głównego? Mam 2 labele z textem i chciałbym, aby po zaakceptowaniu (kliknięciu buttona w drugim oknie) zostały one "przesłane" do tablicy umiejscowionej w klasie głównej. Dzisiaj zacząłem z Qt i nigdy nic podobnego nie robiłem, więc mogę pieprzyć głupoty :D
#cpp #qt #programowanie
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@James0n: w okienku z przyciskiem deklarujesz sygnał np addItem, a w okienku z tabelką slot onAddItem, po czym przy tworzeniu tego drugiego ona łączysz je poprzez connect:

connect( second_window, &SecondWindow::addItem, main_window, &MainWindow::onAddItem );
Jeżeli w main_window nie masz wskaźnika na second_window to nic nie szkodzi bo możesz sobie sprawdzić od kogo sygnał
  • Odpowiedz
@James0n: Jeśli chcesz kompilować używając Mingw, to z gałęźi Qt 5.10.1 wybierz właśnie mingw, a następnie w Tools również Mingw najnowsze. Wtedy nie potrzebujesz visuala.
Jeśli natomiast chcesz kompilować z visualem, to po pierwsze zainstaluj VC++, następnie Qt 5.10.1 MSVC.
  • Odpowiedz
#qt #programowanie #cpp

Jak poprawnie zainstalować qt? Potrzebuję tylko tego co już zaznaczone i najnowszej wersji czy czegoś jeszcze? W toolsach zaznaczone jest tylko QT creator, nie potrzebuję minGW ani frameworka? Sporo pobierania mnie czeka więc chce być pewien, dzięki ;)
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@xyzzy: Framework potrzebny - wybierz odpowiednią wersję do Twojego kompilatora. Jeśli kompilatorem jest MinGW, to w toolsach zaznacz odpowiednią wersję.
  • Odpowiedz
Pytanie do #programista15k i Mirkow z #programowanie #cpp #qt . Siedzę już trochę w qt i z tego co wiem to na obu licencjach dostępnych mogę sprzedawać jeśli jeśli linkuje dynamicznie biblioteki od qt. Linkowanie statyczne wymaga licencji, a zmiany w qt wymagają opublikowania. Do tej pory robiłem na embedded linuxa, więc kompilowalem qt i były biblioteki w systemie.
Teraz będę robił apke desktopowa
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@WilczurZnahor: Kiedyś sporo szukałem na ten tamat i z tego co zrozumiałem czytając różne fora, to licencja LGPL wymaga tego, żeby biblioteki QT były linkowane dynamicznie (i można je było podmieniać), ale nie było wzmianki o tym, że nie można dostarczać ich w formie "bundled" ze swoją aplikacją.
  • Odpowiedz
#programowanie
Takie pytanie... Jak w #qt wsadzić do QString CTRL+C? Muszę to wysłać na port UART żeby zakończyć aplikację w urządzeniu do niego podpiętym.
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #programista15k

Hej Mirki ( ͡° ͜ʖ ͡°)
Czy byłby ktoś w stanie powiedzieć mi za jaki język i framework/bibliotekę powinienem się zabrać, aby w przyszłości ta wiedza i doświadczenie przydała mi się w jakiejś finansowej pracy?
Do tej pory byłem fanem #cpp i trochę pobawiłem się z #qt , ale niestety jak chciałem zacząć robić coś poważnego to przeraziły
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@DJ_Luki:
Usage
For individuals
Any individual developer can use Visual Studio Community to create their own free or paid apps.
https://www.visualstudio.com/vs/community/
Plus VS wspiera nie tylko C#, więc masz potężne IDE plus od zaje... masę usług na Azure w darmowym tierze (od pierdół jak darmowa strona po takie zabawy jak Cognitive Services (rozbudowane AI) )
  • Odpowiedz
Walczę aktualnie z bluezem pod dbusie i utknąłem na tym iż nie widzę w ich dokumentacji w jaki sposób wyciągnąć znalezione urządzenia. W networkmanagerze było o tyle przyjemnie, że jeden z propertisów zwracał tablice znalezionych access pointów a tutaj brak czegokolwiek, chyba że jestem ślepy. Może ktoś z Was walczył z tym? Piszę w c++ ( QT 5.9 / Bluez 5 ).

#programowanie #c++ #qt #bluez
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki z #programowanie, potrzebuję rady. Od pewnego czasu zajmuję się programowaniem i zrobiłem trochę drobnych projektów, brałem też zlecenia na projekty zaliczeniowe z programowania. Niestety brakuje mi pomysłów na napisanie jakiś na prawdę dużych i przydatnych rzeczy. Macie jakieś pomysły? Używam #jezykc, #cpp, #python i #qt.
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Witam, mam taki kod: https://pastebin.com/k7cKjy8r
W pewnym przypadku ma on wyświetlić okno dialogowe i ustawić zaznaczenie elementu, gdy to okno się zamknie lub, gdy się wybierze cancel. Jednak setCurrentItem powoduje ponowne wywołanie onlistWidgetNotescurrentItemChanged czego efektem jest ciągłe ponowne pojawianie się okna dialogowego po jego zamknięciu. Użycie blockSignals sprawia, że problem znika, ale zaznaczenie nie wraca na poprzedni element. Próbowałem wielu innych rozwiązań np. użycie zmiennej przechowującej informację o tym czy
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@lionbest: Tzn. mam zrobić pole klasy głównego okna typu QListWidgetItem*, przy każdej zmianie focusa zapisać kopię zmiennej QListWidgetItem *current do tego pola i, gdy zmieni się focus pokazać okno, gdy tak kopia będzie taka sama jak zmienna QListWidgetItem *previous?
  • Odpowiedz
@arkadiusz97:

rzy każdej zmianie focusa zapisać kopię zmiennej QListWidgetItem *current do tego pola

Nie, tylko wtedy kiedy faktycznie chcesz zmienić element na ten w current.

gdy zmieni się focus pokazać okno, gdy tak kopia będzie taka sama jak
  • Odpowiedz
#cpp #qt #debian #linux

Parę dni temu był tutaj osobny post na temat problemu z QtSerialPort. Mam podobny problem, z tym że u mnie moduł jest wykryty kompilując z Ubuntu na Ubuntu. Kompilując (skrośnie/cross) na Raspbiana, moduł jest nieznany...

Na Raspbianie próbowałem go zainstalować tymi samymi komendami co na Ubuntu (na Ubuntu to wystarczyło). Nic.
Próbowałem też ręcznie przenosić pliki do folderu lib i include w /usr/local/qt5pi
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@TheDoom: dla potomnych z tym samym problemem, wszystkie komendy przeprowadza się na Ubuntu a nie na Pi:
1. pobrać (np. z Gita) bibliotekę, QtSerialPort w tym przypadku - komendą git clone, ofc.
2. wejść do folderu z biblioteką w terminalu - cd , czyli cd qtserialport.
3. /raspi/qt5/bin/qmake . LUB /usr/local/qt5pi/bin/qmake . - kropki są ważne!
4. make
5. sudo make install
6. gratulacje, biblioteka zainstalowana i zdeployowana na Raspberry,
  • Odpowiedz
Mam problem z Qt. Otóż wczoraj przy pisaniu swojej bieda-gry napisałem linijke kodu, po czym stwierdziłem, że nie ma to sensu i wcisnąłem ctrl+z. No i po wciśnieciu skrótu klawiszowego nie kompiluje mi się żaden projekt z tą biblioteką. Przeinstalowałem Qt dwa razy i dalej to samo. Wie ktoś jak sobie z tym poradzić? Poniżej daje wiadomość z compile output i kod do innej gry (bo mniej trzeba kopiować, też nie działa).
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@KrzaQ2: Ehh jednak coś się zrypało. Dodałem nową klasę (bullet) i dalej nie łapie bibliotek. To nawet nie, że nie czyta tylko QGraphicsPixmapItem, po prostu nie łapie żadnej bibliotek wbudowanej.
  • Odpowiedz
@arkadiusz97: sygnałami?

w momencie tworzenia oknaY robisz connecta między sygnałami oknaY i slotami w dzieciach oknaX. OknoY łączy sygnały swoich dzieci z sygnałami wysyłąnymi przez same oknoY. OknoX w slotach robi co trzeba. Na usunięcie oknaY najpierw rozłączasz oknoY i oknoY. Coś w tym stylu:

dzieciOknaX <-connect-> oknoX <- connect na czas istnienia oknaY -> oknoY <-connect-> dzieciOknaY

Można też inaczej (np przekazując w konstruktorze oknaY referencję do oknaX), ale
  • Odpowiedz
@Leinnan: Zawsze było zajebiście z wydajnością, jedyny problem to był długi start aplikacji bo jednak biblioteki Qta trochę ważą, a całość jest stratowana przez moduł do javy, ale jak będziesz używał samo QtCore i QtGui to powinno być dużo szybciej, ja korzystałem z QtQuick z modułem Qt3D co waży parędziesiąt mega, no ale to w końcu może i prosty ale jednak silnik 3D.
  • Odpowiedz
Zapraszam do zapoznania się z moim programem do zliczania słów w zbiorach tekstowych w danym katalogu, który jest napisany w C++ z użyciem biblioteki Qt. Od pewnego czasu potrzebowałem takiego narzędzia do paru rzeczy, więc może się przyda komuś z Was nawet, jeśli nie do praktycznego użycia, to do nauki. Gdyby ktoś chciał binarkę, niech da znać. Umieszczę ją wraz ze skanem z Virustotal. https://github.com/arkadiusz97/Count_Words
#programowanie #cpp #
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach