Chciałem uruchomić w #qemu przykłady #qt na emulowanym cortex-a57. Zbudowałem sobie #embedded #linux przy użyciu #buildroot i mam teraz problem, żeby to uruchomić. Framebuffer mi się pojawia w /dev tylko jesli do QEMU podam -device cirrus-vga. Pojawia sie też pingwin w okienku QEMU. Po zabootowaniu przechodze do przykładów QT np do analogclock. Jeśli uruchomiem go z -platform directfb to dostaję

# ./analogclock
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Nigdy nie pisałem w #qt, ale tworzenie kontrolek wygląda chyba mniej więcej tak:

CWindow* MainWindow = new CWindow(...);
CButton* ExitButton = new CButton(MainWindow); // nie ma konstruktora domyslnego?
ExitButton->setPosition(...); // itd

CWindow jest klasą pełniącą funkcję swego rodzaju "managera", który "zbiera" nowo utworzone kontrolki i nimi zarządza, a sam konstruktor kontrolki (prawdopodobnie) nie może być wywołany bez podania wskaźnika do tego managera. Jak się nazywa ten wzorzec projektowy? Jakie są jeszcze inne wzorce
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Feargan: Każdy QObject przyjmuje w konstruktorze wskaźnik na rodzica. Każdy rodzic ma listę dzieci. Przy destrukcji rodzica, dealokowane jest też każde z jego dzieci. Oczywiście jest to wzorzec kompozytu, ale też trochę łańcuch odpowiedzialności, szczególnie jeśli chodzi o przekazywanie sygnałów.
W Qt da się ich bardzo dużo znaleźć jak nie wszystkie, prócz takich które są niepotrzebne. Przykładowo nie znajdziemy typowego Obserwera, bo ze względu na mechanikę slotów, każdy QObject może
  • Odpowiedz
Hakerzy z #linux,
chcę/muszę oprogramować proste GUI w #gtk przy użyciu #python, czy ktoś ma z tym doświadczeniem czy warto się w to zagłębiać? Najchętniej użyłbym #qt bo po pierwszych oględzinach to dokumentacja gtk wygląda jakby padła i nie mogła wstać. Porównując do QT to niebo a ziemia (na korzyść QT). Do samego pygtk znalazłem to: https://python-gtk-3-tutorial.readthedocs.io/en/latest/ wygląda dobrze i od tego
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp #qt

Ogarniam programowanie w Qt (qt creator). Używam webengine i chcę żeby httpUserAgent przedstawiał się jako urządzenie mobilne. Aktualnie mam:

QString url = "http://wp.pl/";
view2->setSizePolicy(QSizePolicy::Expanding,
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@defoxe: Chodzi Ci o użycie: QQuickWebEngineProfile::setHttpUserAgent(QString); ?

nie wiem czym u Ciebie jest ten view2 dlatego zgaduję ze o to Ci chodzi
  • Odpowiedz
QWebEngineView


@defoxe: Jeżeli chcesz używać tego userAgenta w całej aplikacji to spróbuj tak:

QWebEngineProfile *profile =
  • Odpowiedz
#programowanie #qt #cpp #pytanie

Wiem, że odpowiedź na moje pytanie mógłbym wygooglać ale chciałbym jedynie na początek zaspokoić swoją ciekawość a nie przegrzebywać dokumentacje itp.
Chodzi o programowanie w Qt. Używam Debiana, mam Qt creatora i popełniłem kilka programów. Ogólnie podoba mi się (poza licencją itd.). Obserwując na Facebooku profil Qt, ciągle są tam jakieś informacje o użyciu Qt w samochodach i... No zobaczcie
defoxe - #programowanie #qt #cpp #pytanie

Wiem, że odpowiedź na moje pytanie mógłb...

źródło: comment_z2cZMm8N66sPydRiY1hebZ3VCAd9aZ6C.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Pora na kolejny artykuł omawiający podstawy Qt. Tym razem zajmiemy się komunikacją przez port szeregowy. Dzięki temu połączymy komputer PC z Arduino (lub innym mikrokontrolerem). W ramach ćwiczeń stworzymy własny monitor portu szeregowego, który będzie mógł sterować pracą Arduino. Więcej ( ) Kurs Qt – #2 – komunikacja z Arduino przez UART

#forbot #elektronika #technologia #programowanie #arduino
Forbot - Pora na kolejny artykuł omawiający podstawy Qt. Tym razem zajmiemy się komun...

źródło: comment_7Y4p4qpKHiEYeWgchssP3Zjwatv9fQiM.jpg

Pobierz
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mic327: Nie wiem, ale wydaje mi się, że kompletnie nie przeczytałeś dokumentacji o używaniu pyqtSignal i pyqtSlot.
Mniejsza z tym, skoro chcesz robić MVC to co ma do roboty klasa Slots? Kontroler? To czemu ją tworzysz w widoku? No i najważniejsze gdzie masz model? Jak dla mnie to się powinno zaczynać od modelu.
  • Odpowiedz
#qt

Cześć, tworzę apkę z użyciem QMLa i dzisiaj po dodaniu okna pojawił mi się błąd podczas ładowania QmlEngine który oznajmia że nie jest możliwe załadowanie pluginu QtControl ze względu na ograniczoną ilość pamięci dla procesu.

Ktoś kojarzy jak rozwiązać ten problem?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Hej, potrzebuję wyciągnąć dane wpisywane w LineEdit przez użytkownika. Problem w tym, że ten LineEdit jest w drugim okienku i nie mam pojęcia jak 'wyjąć' tę wartość wpisywaną. Ktoś pomoże? #cpp #qt
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Niels: czy te "2" okienka żyją w tej same aplikacji? Jeśli tak, to możesz sobie pod LineEditem zrobić przycisk (QPushButton) np "Gotowe" i na wciśnięcie podpiąć się do sygnału click() (https://doc.qt.io/qt-5/qabstractbutton.html#click) przycisku. Następnie odczytać sobie z LineEdita (https://doc.qt.io/qt-5/qlineedit.html#text-prop) to co do niego jest wpisane. Inna opcja to podpiąć się do sygnału z LineEdita editingFinished() (https://doc.qt.io/qt-5/qlineedit.html#editingFinished) - ten sygnal jest wysyłany przez LineEdit kiedy wciśniesz enter.

Jeśli kontrolki
  • Odpowiedz
@Niels: Podepnij sobie pod sygnał emitowany przez QLineEdit np textEdited() dodajesz coś w stylu:

connect(this, textEdited(), Obiekt w którym potrzebujesz obsłużyć dane, Slot którym obsłużysz dane stworzony przez ciebie)
  • Odpowiedz
Czy w dzisiejszych czasach jest podobny projekt #opensource środowiska graficznego w 3D?
Myślę że jakbym połączył to z LinusTrinus (Linuxowe TrinusVR) to #windows10 kryłby się ( ͡° ͜ʖ ͡°)
Jakby ktoś szukał to na archive.org znajdziecie kopię tamtej strony projektu.

majsterV2 - Czy w dzisiejszych czasach jest podobny projekt #opensource środowiska gr...
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, potrzebuję na Linuxie stworzyć apkę w Qt na koniecznie 32 bity. Przy zainstalowanym Qt 5.10 samo dodanie flag -m32 lub zmiana kompilatora na 32-bitowy nie pomaga, bo nie ma wtedy odpowiednich bibliotek Qt dla 32 bitów. Próbowałem instalować starsze wersje, ale zawsze kończyło się tajemniczymi błędami. Polecicie jakieś konkretne rozwiązanie?

#programowanie #qt #linux
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki z #programowanie mam takie pytanie może gupie może mondre...

Wykucowałem sobie aplikację w #cplusplus #qt i robię jej deploy używając tego fajnego narzędzia na #linux
https://github.com/probonopd/linuxdeployqt

No i fajnie, no i spoko, ładnie znajduje biblioteki do zlinkowania, ładnie wszystko się uruchamia na innych Linuksach, da się wygenerować appimage - OGÓLNIE POLECAM SERDECZNIE.
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@QBA__ wieki temu się przymierzałem do tego i nie znalazłem sposobu. Za to zamiast wirtualki spróbowałbym wine - możesz sobie podpiąć do builda, odchodzi grzebanie w windowsie, pliki wynikowe masz od razu u siebie. Tak robiłem w innym projekcie gdzie budowałem instalator windowsowy.
  • Odpowiedz
Hejka, używa ktoś QtCreatora 4.8.2? Mam problem, bo przestał mi podpowiadać sygnały i sloty obiektów (chociaż nie wszystkich) kiedy używam funkcji connect(...) i jest to strasznie upierdliwe xd Da się to jakoś przywrócić? Nic nie zmieniałem w ustawieniach.

#programowanie #qt #informatyka
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Metoksyfenidyna9: Po prostu robisz to new w innym wątku niż ten, w którym stworzyłeś this, którego przekazujesz jako rodzic do QSqlTableModel. Ponieważ QObject potrzebuje być na jakiś wątku, by odbierać zakolejkowane sygnały, przypisuje mu się obecne. Jednak ze względu na sposób usuwania dzieci rodziców, wątek rodzica musi być taki sam. U ciebie widocznie okno tworzysz w innym wątku niż główny wątek GUI.
  • Odpowiedz
Ehh no chyba upośledzony jakiś jestem bo bardzo ciężko mi zrozumieć sygnały/sloty w QT. Znacie jakieś przykłady wysyłania struktur przez ten mechanizm?
W jaki sposób mogę wyświetlić w Qt bazę w TableView? Chodzi mi konkretnie o załadowanie całej bazy do TableView po wciśnięciu buttona pod którym mam całą operację połączenia się z bazą danych.
Nie wiem jak "wysłać" te dane z klasy "database" gdzie operuję połączeniem do klasy "MainWindow" gdzie mam tabelkę
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Metoksyfenidyna9: Wszystko, co przechodzi przez parametry slotu/sygnału musi być zapisywane w QVariant. Twoje struktury nie są, dopóki ich nie zarejestrujesz typu poprzez Q_DECLARE_METATYPE. Pamiętaj, że muszą się umieć kopiować.
  • Odpowiedz
@Metoksyfenidyna9: Co do bazy to musisz stworzyć swój model, dziedzicząc po QAbstractTableModel, jak byś korzystał z modułu QtSql, to tam już taki jest, ale pamiętam, że z sqlita korzystałeś z ich C api, więc raczej musisz stworzyć własny.
  • Odpowiedz
Hej bawię się w GUI QT i mam taką sytuację z pytankiem!

Posiadam dwa buttony (ui.addButton/ui.sumButton), chciałbym aby obydwa kierowały do tej samej funkcji getAndshowResult() jednakże z tym, aby każde z nich dodawało "od siebie" argument najlepiej znak '+'/'-' i na podstawie tego znaku wywoływana była dalsza część funkcji. Jednakże żaden ze sposobów mi nie zadziałał.

Pomyślałem o takim rozwiązaniu -> https://pastebin.com/Uq1vZXRg ale NIE działa (cptn Obvious), jakieś pomysły?

#glupiepytaniametoksyfenidyny
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Metoksyfenidyna9: Zazwyczaj nie musisz tego robić, bo się automatycznie usuwać, gdy jeden z obiektów połączenia się usunie. Tutaj ui->sumButton raczej nie będzie obsługiwać wciśnięć dłużej niż życie this, czyli zgaduje, że twojego okna.
Jednak gdy masz w lambdzie jakiś inny obiekt, który zostanie zniszczony, to trzeba usunać też połączenie:

QMetaObject::Connection connection = connect(ui.sumButton, &QPushButton::clicked,

                                       [my_qobject]()
  • Odpowiedz
Problem rozwiązany - w zestawie narzędzi qtcreatora z jakiegoś powodu był brak wybranego kompilatora. Po jego wybraniu wszystkie błędy składni zniknęły.
  • Odpowiedz