Zamiana bibliotek z boosta na te z Qt

0

W tej chwili w aplikacji używam biblioteki boost::filesystem do obsługi plików ale chciałbym przepisać tą cześć wykorzystując klasy QFile, QDir, QFileInfo czy jest możliwe używanie klas z Qt tak jak to jest w przypadku boosta? Podpinam dll-kę i korzystam? Generalnie interesuje mnie tylko QtCore.dll.

0

Tak. Jest możliwe. Włączenie nagłówka, podanie do konsolidacji biblioteki i działa :-)

0

A sygnały i sloty nawet gdy z nich nie korzystam nie będą generowały problemów?

0

Możliwe drogi:

  1. Nie używać właściwości metaprogramowania Qt oraz sygnałów ( wyłączenie sygnałów natywnych przez CONFIG += no_keywords )
  2. Użyć i wtedy niestety potrzebne wywołanie moc (Mata Object Compiler)
  3. Wyłączyć sygnały natywne (jak pkt. 1. i użyć sygnałów np. boost'a)

Masz jakiś problem czy na razie "boisz się sprawdzić" ? :-)

0

Masz jakiś problem czy na razie "boisz się sprawdzić"

Raczej boje się zacząć pisać skomplikowany moduł aby w połowie przekonać się że "się nie da" i przepisywać z wykorzystaniem boosta ;)

0

Nie jestem w stanie przeprowadzić aż tak dokładnych testów. Proste robiłem i "działa".

Co masz na myśli mówiąc "zamiana sygnałów Qt na Boost działa"? W jaki sposób podmieniasz natywne sygnały Qt na boost-owe?

0

używam biblioteki boost::filesystem do obsługi plików ale chciałbym przepisać tą cześć wykorzystując klasy QFile

Czy jest jakiś konkretny powód by „pchać się” w Qt skoro to nie ma być aplikacja Qt?

0

Czy jest jakiś konkretny powód by „pchać się” w Qt skoro to nie ma być aplikacja Qt?

Kilka:

  • część potrzebnego kodu jest już napisana z wykorzystaniem Qt, więc ewentualnie trzeba by przepisać na boosta - dodatkowa praca, testy.

  • kilka niezbędnych rzeczy w Qt jest "wbudowane" a w c++ zajęło by dodatkowe godziny pracy i testowania. Jeden z wielu przykładów mimeType dla pliku.

  • klasy Qt wyglądają na lepiej zaprojektowane. Boost::filesystem w tej chwili u mnie wygląda strasznie. W przykładach na stronie boosta jest podobnie. Przykłady z wykorzystaniem klas Qt wyglądają "czyściej".

0
  • część potrzebnego kodu jest już napisana z wykorzystaniem Qt,

Hmmm, no to jeszcze raz pytanie z pierwszego posta.

czy jest możliwe używanie klas z Qt tak jak to jest w przypadku boosta? Podpinam dll-kę i korzystam? Generalnie interesuje mnie tylko QtCore.dll.

Coś mi się tu nie dodaje. Część kodu jest napisana w Qt i nadal nie wiadomo jak podpiąć QtCore? Anyway, używanie Qt jest całkiem proste jeśli bawi Cię dodawanie kolejnych dll-elek do folderu z binarką. Z tego co pamiętam, licencja boosta nie tworzy żadnych problemów przy kompilacji statycznej.

0

Coś mi się tu nie dodaje. Część kodu jest napisana w Qt i nadal nie wiadomo jak podpiąć QtCore?

Tylko że ta część kodu ( te klasy ) jest aktualnie używana w projekcie Qt wiec tam śmiga to ładnie. Dodatkowo dochodzi kolejna część którą trzeba jeszcze napisać i kod który już mam a który chciałbym przepisać z boost::filesystem na Qt.

Proste testy to ja już robiłem, podpiąłem dll-kę QtCore i odpaliłem przykładowy projekt używając czegoś z QFile, QDir i kilku innych klas i działa bez problemów.
Pytam bo być może ktos wie o jakiś "głębszych" problemach które mogą wyjść później jeżeli chodzi o używanie klas z QtCore bez QApplication czy pętli zdarzeń.

Anyway, używanie Qt jest całkiem proste jeśli bawi Cię dodawanie kolejnych dll-elek do folderu z binarką.

W moim przypadku ograniczyłoby się chyba na jednej - QtCore5.dll. Poza tym dll-ki w katalogu z aplikacją nie stanowią dla mnie problemu. Większe znaczenie ma funkcjonalność i prostota biblioteki a pod tym względem według mnie boost::filesystem przegrywa z klasami Qt.

1 użytkowników online, w tym zalogowanych: 0, gości: 1