Krótkie pytanie, co będzie lepsze do robienia aplikacji okienkowych w C++? Qt czy wxWidgets? Liczę na wypowiedzi poparte sensownymi argumentami. #programowanie #cpp #qt #wxwidgets
Wszystko
Wszystkie
Archiwum
- 1
http://pastebin.com/t36Ma2wC
Błąd jak na obrazku, plik na pastebin... nie wiem co robię nie tak. ;c
Błąd jak na obrazku, plik na pastebin... nie wiem co robię nie tak. ;c
QList::indexOf przyjmuje const T& za argument, dlaczego więc nie przechodzi to co próbuję mu podać? ( ͡° ʖ̯ ͡°)
źródło: comment_lfeg2jNK03ewm8QixCmUogxIcaY2Akur.jpg
Pobierz- 1
Wrzucam jeszcze raz bo w nocy to jednak mało osób przegląda. A mi naprawdę zależy, żeby to działało.
http://wklej.org/hash/24529c9f045/
generuje wyjście:
http://wklej.org/hash/24529c9f045/
generuje wyjście:
Start!- 0
@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
- 0
@lionbest: C++ np bardzo dobrze mi się uczyło z Symfonii C++
- 2
Moje drugie podejście do sygnałów i slotów. NO i nie wiem co jest nie tak!
http://wklej.org/hash/24529c9f045/
Wynik jest taki:
Start!
To się wyświetla
http://wklej.org/hash/24529c9f045/
Wynik jest taki:
Start!
To się wyświetla
- 0
@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.
- 0
@lionbest: Przykład jest okrojony (dlatego nie ma sensu). Spodziewałem się wyniku:
Start!
TESTETT!
To się nie wyświetla
To się
Start!
TESTETT!
To się nie wyświetla
To się
Komentarz usunięty przez autora
- 0
@Macierz_transponowana: Python + Qt? ale po co? To się osobno stosuje ;-D
Hej mirki z #programowanie. Chcę się podszkolić w #qt, #qtcreator. Od czego powinienem zacząć? Tutoriale na stronce Qt są raczej kiepskie. Jest jakieś fajniejsze źródło?
- 0
@lionbest: to jest mój projekt który ma na celu naukę, dlatego chcę qtcreatora używać raczej jako IDE a może na boku się trochę Qt poduczyć. Dzięki za pomoc :)
- 0
@pierwiastekzminusjeden: No spoko, jedyne co mogę ci pomóc to żebyś korzystał z raczej z najnowszej wersji, ta zaciągnięta z qt.io jest dość stabilna i w miarę nowa chyba 4.0.3 .
Jeżeli robisz pod Windowsem to mimo wszystko lepiej korzystać z kompilatora od Visuala (QtCreator sam wykrywa) bo debuger od MinGW krótko mówiąc nie działa jak trzeba. Pod Ubuntu nie ma problemu z najnowszym G++ oraz Clangiem.
QtCreator niema nic szczególnego
Jeżeli robisz pod Windowsem to mimo wszystko lepiej korzystać z kompilatora od Visuala (QtCreator sam wykrywa) bo debuger od MinGW krótko mówiąc nie działa jak trzeba. Pod Ubuntu nie ma problemu z najnowszym G++ oraz Clangiem.
QtCreator niema nic szczególnego
- 1
#cpp #qt #programowanie
Mirki jak mogę odpalić debug z konsoli w QtCreatorze? Potrzebuję zdebugować program, ale jest on zrobiony dla konsolki windowsa i ma być odpalany z CMD z listą argumentów. Jak odpalić to tak aby mi pokazało w której linii kodu się wysypuje?
Mirki jak mogę odpalić debug z konsoli w QtCreatorze? Potrzebuję zdebugować program, ale jest on zrobiony dla konsolki windowsa i ma być odpalany z CMD z listą argumentów. Jak odpalić to tak aby mi pokazało w której linii kodu się wysypuje?
- 1
#program #linux #programowanie #gtk #gnome #qt #kde
Potrzebuję programu który jedyne co robi to wyświetla na ekranie (na cały ekran prócz panelu) dowolny obrazek podany do programu.
Może być np. przez komendę:
Sam program ma nie mieć żadnej ramki okna, żadnego interface ani menu. Jedynie ikonę w pasku zadań/liście okien do min/max/zamknij. Żadnych dodatkowych ukrytych funkcji. Jednym słowem, najmniejszy i najlżejszy możliwy "wyświetlator"
Potrzebuję programu który jedyne co robi to wyświetla na ekranie (na cały ekran prócz panelu) dowolny obrazek podany do programu.
Może być np. przez komendę:
widok-obrazka -file="adresobrazka.png".Sam program ma nie mieć żadnej ramki okna, żadnego interface ani menu. Jedynie ikonę w pasku zadań/liście okien do min/max/zamknij. Żadnych dodatkowych ukrytych funkcji. Jednym słowem, najmniejszy i najlżejszy możliwy "wyświetlator"
- 2
Próbuję sobie bibliotekę SDL (2.0.4) zgrać z Qt (5.7.0), tzn. zarządzać za pomocą biblioteki SDL zawartością QOpenGLWidget. Nie wiem czy to istotne, ale Linux + Nvidia (nie Nouveau).
Kolejność działań
1)
2)
3)
Kolejność działań
1)
SDL_Init(SDLINITEVERYTHING)2)
sdlw = SDL_CreateWindowForm((void*)ui->openGLWidget->winId())3)
sdlren = SDL_CreateRenderer(sdlw, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);Foreach?
- Haram 40.4% (21)
- Halal 25.0% (13)
- Sprawdzam 34.6% (18)
- 1
- 2
@GlenPL: Przecież wiesz, że używanie standardu języka który ma mniej niż 15 lat to w środowisku C/C++ bywa ekstrawagancja, albo zadanie nie do wykonania (a przy próbie przejścia na współczesny kompilator wszystko pada, bo jest jakiś legacy kod napisany w Borlandzie). W embedded jest jeszcze lepiej. Do dzisiaj są ludzie, którzy uznają, że C99 jest niekoszerne. Po #!$%@? 17 latach. To jest i tak używają cech z C99 które każdy
- 1
Hej mam klasę która dziedziczy z QThread i wykonuję coś takiego:
Moim zdaniem print się nie powinien wykonać nigdy.
self.quit()
self.exit()
print("Po exit?")Moim zdaniem print się nie powinien wykonać nigdy.
@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.
- 4
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 wątku), to exit/quit po prostu tą pętlę zakończą i wątek zakończy swoją pracę (ale nie w momencie wywołania exit/quit, tylko po zakończeniu bieżącego
- 3
Pod Linuksem nakodziłem sobie program w Qt 5.4 używając modułu qwebkit. Chciałem skompilować na Windowsie i zonk...
Z tego co wyczytałem to od wersji 5.6 (a taką mam na win) nie ma już wsparcia dla webkita; ale czy on był w ogóle obecny na Windowsie? Jak ściągnę 5.4 to bez problemu skompiluję to co nakodziłem pod linuchem przy użyciu tych modułów (webkit, webkitwidgets)?
#qt #qtcreator #cpp
Z tego co wyczytałem to od wersji 5.6 (a taką mam na win) nie ma już wsparcia dla webkita; ale czy on był w ogóle obecny na Windowsie? Jak ściągnę 5.4 to bez problemu skompiluję to co nakodziłem pod linuchem przy użyciu tych modułów (webkit, webkitwidgets)?
#qt #qtcreator #cpp
- 2
@aso824: Nie łatwiej przeportować? Aplikacja będzie działać z każdą wersją Qt, a tak zatrzymasz się do końca świata na 5.5
http://doc.qt.io/qt-5/qtwebenginewidgets-qtwebkitportingguide.html
Wygląda na to że w 5.6 nawet manualne dodanie QWebkit nie pomoże:
http://lists.qt-project.org/pipermail/interest/2015-November/019663.html
http://doc.qt.io/qt-5/qtwebenginewidgets-qtwebkitportingguide.html
Wygląda na to że w 5.6 nawet manualne dodanie QWebkit nie pomoże:
http://lists.qt-project.org/pipermail/interest/2015-November/019663.html
konto usunięte via Android
- 1
@aso824 jak skompilujesz z 5.4 na windowsie to będzie działać
- 2
@Wyrewolwerowanyrewolwer: Bo oni od QtCreatora to są tacy niepełnosprytni czasem... z jednej strony robią kawał zajebisterj roboty, ale z drugiej napisali specjalnie dla QtCreatora cały framework do paneli i nie jest on zbyt dobry. Już samo Qt daje w standardzie o niebo lepsze rozwiązanie (QMdiArea i QDockArea), użytkownik może sobie poukładać panele jak mu się podoba.
Do tego mam notoryczne problemy z debuggerem (lubi się zawiesić, długo czyta zmienne, itp)
Do tego mam notoryczne problemy z debuggerem (lubi się zawiesić, długo czyta zmienne, itp)
- 0
@vipe: Mogę się spytać która wersja bo ostatnio stabilna stała się chyba 4.0.0 ?
Jedynie co zauważyłem to delikatnie odświeżony wygląd.
W sumie opcje debugowania nic nie poprawili, no może poza kilkoma miejscami gdzie podgląd zmiennych lokalnych się wieszał.
Jedynie co zauważyłem to delikatnie odświeżony wygląd.
W sumie opcje debugowania nic nie poprawili, no może poza kilkoma miejscami gdzie podgląd zmiennych lokalnych się wieszał.
- 1
#programowanie #cpp #qt
Mirki jak zbadać wagę klasy wraz ze wszystkim? W sensie ile waży cały obiekt wraz ze wszystkim co ma w środku?
Chcę się dowiedzieć ile waży QDateTime, ale sizeof w mojej skromnej opinii pokazuje zwyczajne bzdury, bo rzekomo ma 8 B. Szkoda tylko, że QDate też ma 8 a QTime ma 4, a QDateTime składa się z obu. Jak sprawdzić ile waży QDateTime
Mirki jak zbadać wagę klasy wraz ze wszystkim? W sensie ile waży cały obiekt wraz ze wszystkim co ma w środku?
Chcę się dowiedzieć ile waży QDateTime, ale sizeof w mojej skromnej opinii pokazuje zwyczajne bzdury, bo rzekomo ma 8 B. Szkoda tylko, że QDate też ma 8 a QTime ma 4, a QDateTime składa się z obu. Jak sprawdzić ile waży QDateTime
- 0
@vipe: Używaliśmy dokładnie tej metody ze sleepem i wyszło na oko właśnie ~~ 120 B.
- 0
@Khaine: Metoda ze sleepem zakłada użycie zewnętrznego programu do pomiaru użycia pamięci. Nie wiem na ile zewnętrzna aplikacja ma dostęp do dokładnego zużycia przez daną aplikację (a o ile do przewidzianego zużycia tak jak to widzi system).
Myślę, że warto by napisać sobie funkcję jak tutaj i wywołać ją przed i po stworzeniu obiektu, obliczyć różnicę. Tylko tak jak wcześniej pisałem - nie wiadomo czy taka funkcja też nie będzie
Myślę, że warto by napisać sobie funkcję jak tutaj i wywołać ją przed i po stworzeniu obiektu, obliczyć różnicę. Tylko tak jak wcześniej pisałem - nie wiadomo czy taka funkcja też nie będzie
- 3
Momo - Twice
@nunczaqo: nie ma nic wspólnego z Qt
- 1
#programowanie #cpp #qt
Orientuje się ktoś może jaki program wygeneruje mi ogarniętego UMLa z C++ qtowego? Enterprise Architect zdaje sobie nie radzić z qtowymi rozszerzeniami typu private slots (których byśmy nie chcieli pokazywać), signals itd.
Orientuje się ktoś może jaki program wygeneruje mi ogarniętego UMLa z C++ qtowego? Enterprise Architect zdaje sobie nie radzić z qtowymi rozszerzeniami typu private slots (których byśmy nie chcieli pokazywać), signals itd.
- 1
#cpp #programowanie #qt
Orientuje się ktoś czemu pluginy do Qt (w sensie nie do QtCreatora a do aplikacji) koniecznie muszą być QObjectami? Nie mogę znaleźć wyjaśnienia czemu AKURAT każdy plugin MUSI koniecznie być QObjectem. Wyjaśnienie może być dowolne tak naprawdę "bo QPluginLoader używa qobjectcast i spodziewa się QObjectu, tyle", ale chciałbym wiedzieć czemu ja muszę to robić.
Orientuje się ktoś czemu pluginy do Qt (w sensie nie do QtCreatora a do aplikacji) koniecznie muszą być QObjectami? Nie mogę znaleźć wyjaśnienia czemu AKURAT każdy plugin MUSI koniecznie być QObjectem. Wyjaśnienie może być dowolne tak naprawdę "bo QPluginLoader używa qobjectcast i spodziewa się QObjectu, tyle", ale chciałbym wiedzieć czemu ja muszę to robić.
- 0
@tell_me_more: Moja teoria jest taka, że QPluginLoader zwraca QObject* z instance(), bo tak jest zrobione (QObject pełni rolę "szablonu" pod którym można ukryć wskaźnik na faktyczny obiekt). Po odebraniu QObject* trzeba zrobić qobject_cast na to co my tam chcemy za interfejs wyciągnąć. No wygląda mi to po prostu na taką przyjętą konwencję ukrywania uniwersalnych wskaźników pod QObject*.
@Khaine: bycie QObjectem jest potrzebne, żeby MOCe działały (propertisy, sloty, sygnały, i inne bajery z tymi ich makrami). Pluginy używają tej mocowej magii do specyfikacji interfejsu itp:
QPLUGINMETADATA(IID "org.qt-project.Qt.Examples.PlugAndPaint.FilterInterface" FILE
QPLUGINMETADATA(IID "org.qt-project.Qt.Examples.PlugAndPaint.FilterInterface" FILE
- 5
#programowanie #cpp #qt
Tak się zastanawiam. Po co ktoś miałby robić cokolwiek w C++ nie używając bibliotek Qt? Programujemy z kolegą w Qt od nooo, kilku dobrych miesięcy już. Nie mniej niż 3 na pewno. No i przyznam się szczerze, że ja po prostu innej drogi w C++ niż Qt to po prostu nie widzę. Nie mam pojęcia czemu miałbym nie używać Qt, nawet jeśli tylko używając niektórych elementów.
1. Licencja LGPL, czyli jak tylko nie robimy jakichś naprawdę cudackich rzeczy to jest full yolo.
2. Qt ma obecnie rozwiązanie dla prawie wszystkich podstawowych rzeczy jakie tylko w C++ można zrobić, cały mechanizm signal/slots, banalne wątkowanie, GUI itd.
Tak się zastanawiam. Po co ktoś miałby robić cokolwiek w C++ nie używając bibliotek Qt? Programujemy z kolegą w Qt od nooo, kilku dobrych miesięcy już. Nie mniej niż 3 na pewno. No i przyznam się szczerze, że ja po prostu innej drogi w C++ niż Qt to po prostu nie widzę. Nie mam pojęcia czemu miałbym nie używać Qt, nawet jeśli tylko używając niektórych elementów.
1. Licencja LGPL, czyli jak tylko nie robimy jakichś naprawdę cudackich rzeczy to jest full yolo.
2. Qt ma obecnie rozwiązanie dla prawie wszystkich podstawowych rzeczy jakie tylko w C++ można zrobić, cały mechanizm signal/slots, banalne wątkowanie, GUI itd.
- 1
#programowanie #qt #cpp jeszcze raz napisałem temat bo moze faktycznie nie było jasne o co mi chodzi:
http://stackoverflow.com/questions/36816806/qsqlrelationaltablemodelsetrecord-returns-true-but-isnt-working
Jeżeli ktoś się bawił w Model/View w Qt to moze mi podpowie... bo ja utknąłem 3 dni temu i kaplica. ;/
http://stackoverflow.com/questions/36816806/qsqlrelationaltablemodelsetrecord-returns-true-but-isnt-working
Jeżeli ktoś się bawił w Model/View w Qt to moze mi podpowie... bo ja utknąłem 3 dni temu i kaplica. ;/
@Dijuna: Możesz prześledzić gdzie wyrzuca błąd. Patrząc na kod dobiłem jedynie z QSqlRelationalTableModel 472 linia zawraca false a dalej w QSqlTableModel w 560, 566, 569 zwraca jawnie false. Sprawdź warunki na których może ci się to wysypywać.
- 0
@mackar: no tak, to rozumiem, zgłasza błąd bo nie ma w tabeli relacji żadnego obiektu o kluczu o wartości NULL... mi raczej chodzi o to jak w takim razie obsługiwać relację zero-to-many... odpuściłem sobie już szukanie odpowiedzi, zmieniłem relację na one-to-many i dodałem grupę "none", ale to hack okropny...





















Mam sobie taki kod, to nie jest prawdziwy program tylko wyciągnąłem samą zasadę działania żeby działało jak najprościej i można było sobie wkleić jak ktoś ma Qt Creatora:
1) Mam listę obiektów i nie chcę w żaden sposób na nią wpłynąć,
2) Chcę wybrać kilka jej elementów (w przykładzie: te których nazwa nie jest pusta, lista indeksów) i posortować na podstawie jakichś ich wartości,
3) Chcę otrzymać listę indeksów do tej oryginalnej listy, posortowanych z użyciem tych wartości.
for (j = 0; i < n - 1; j++) {nie powinno tu być j zamiast i? ( ͡° ʖ̯ ͡°)