Problem z QT Design



  • Hej wszystkim,
    Na forum jestem nowy. Dodatkowo, początkujący jestem również jeżeli chodzi o RPI a także C++ (wcześniej C, C#) i linuksa. Zostałem wrzucony w pewien projekt, który wymaga dopracowania istniejącej aplikacji wizualizacyjnej na RPI. Kod na RPI kompilowany jest skrośnie z PCta. Cały projekt, wraz z konfiguracją środowiska został odziedziczony po kimś. Ze względu na ograniczenia czasowe, niemożliwe jest też rozpoczynanie go od początku. Jeden z głównych problemów jest taki, że zmiany wprowadzane w zakładce Design mojego QT 5.6 tak jakby nie są widziane przez kod programu. Nie możliwe jest użycie go do tworzenia połączeń sygnał->slot, niemożliwe jest tworzenie nowych widgetów etc. W sensie, w plikach .ui coś powstaje, ale za nic nie ma wpływu na pozostałą część projektu. Czy ktoś z was spotkał się z takim problemem? (całą resztę źródeł przeszukałem).
    Pozdrawiam i liczę na pomoc.


  • Moderators

    Odpal qmake i zrób pełny rebuild (prawy klawisz na projekcie, "Run qmake" a potem "Rebuild"), powinno pomóc.

    Zmiany spawdzasz lokalnie na PC, czy od razu na Raspberry Pi? Bo może być jeszcze tak, ze deployment nie jest skonfigurowany i ci się wszystko kompiluje ładnie, tylko nie wysyła do malinki.



  • Sprawdzam od razu na malinie. Próbowałem kompilować kod na desktopie i wyrzuca mnóstwo (prawie 500) błędów w plikach mathcalls.h, cmath, random, qchar.h i wielu innych bezpo średnio nie includowanych. Wygląda jak błędna konfiguracja, ale nie widzę nigdzie błędów względem poradników dostępnych w sieci.
    Jeżeli chodzi o odpalanie na malinie, to wszelkie inne zmiany bezpośrednio w kodzie są widoczne. Tylko te wprowadzone przy pomocy designera są pomijane. Wykonałem qmake i przebudowałem projekt, zmian niestety nie ma.


  • Moderators

    Hm, tak wygląda na błedny config. Dobrze byłoby sprawdzić na jakimś czystym projekcie. Może brakuje zainstalowanego kompilatora albo jakichś bibliotek. Jeśli to coś "debianowate", to zainstalowanie build-essential powinno pomóc:

    sudo apt install build-essential
    

    Jeżeli chodzi o odpalanie na malinie, to wszelkie inne zmiany bezpośrednio w kodzie są widoczne. Tylko te wprowadzone przy pomocy designera są pomijane.

    Hm, to bardzo dziwne. Zmiany plików .ui są przetwarzane przez generator uic na kod C++ i kompilowane bezpośrednio z resztą projektu... Nie bardzo wiem co poradzić. W zakładce "Compilation output" w Qt Creator zobacz czy uic faktycznie jest wywoływany. I w pliku .pro czy masz dodane .ui w zmiennej FORMS:

    FORMS += jakisplik.ui innyplik.ui
    


  • sudo apt install build-essential
    

    Wszystko aktualne, nic nie nadpisał.
    Problem rozwiązałem poprzez odznaczenie shadow-build'a w ustawieniach budowania, usunięcie ui_mainwindow oraz wszystkich moc_xxx i ui_xxx i makefile (znalezione gdzieś na innym forum). Prawdopodobnie problem leżał w tym, że gdzieś ktoś przez przypadek podmienił jakiś z powyższych plików, pewnie ui_mainwindow i od tej pory coś się pochrzaniło, powyższe nie były nadpisywane. W tym momencie poprzednik zaczął tworzyć GUI bezpośrednio z poziomu kodu.
    Zobaczymy, co jeszcze wyjdzie w praniu.
    Kolejny problem mam taki, że nie mogę zdalnie (z poziomu QT->narzedzia->budowanie->ap. zatrzymywane przed budowaniem) zakończyć aplikacji na malinie, a muszę to robić. Do tej pory trudzę się z terminala, ale wypadałoby to naprawić.
    Pozdrawiam


  • Moderators

    @MNowak said in Problem z QT Design:

    W tym momencie poprzednik zaczął tworzyć GUI bezpośrednio z poziomu kodu.

    Eh... ;-)

    Kolejny problem mam taki, że nie mogę zdalnie (z poziomu QT->narzedzia->budowanie->ap. zatrzymywane przed budowaniem) zakończyć aplikacji na malinie, a muszę to robić. Do tej pory trudzę się z terminala, ale wypadałoby to naprawić.

    Sugestie dla ludzi pracujących nad Qt Creatorem warto wrzucać na bugtracker https://bugreports.qt.io

    Podczas pracy aplikacji mozna ją zatrzymać klikając czerwony kwadrat w zakłądce Application Output.

    0_1507030727855_Screenshot_20171003_133804.png


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.