ostatni etap i nie mogę go cholera przeskoczyć.
Konwersja hex->dec
na czysto kod wygląda tak

int x;

std::cin >> std::hex >> x;

std::cout << x << std::endl;


Teraz schody i zastosowanie powyższego w #qt
Próbowałem na kilka sposobów, ostatecznie wylądowałem z poniższym i zapytaniem na mirko.

unsigned long pomocnicza = fourthbox.toInt();

std::stringstream streamhex;

streamhex << std::hex << pomocnicza;

streamhex >> std::dec >> pomocnicza;

QString s = QString::number(pomocnicza);

ui->dec->setText(s);


#cpp
Mirki help, bo #qt już mnie trochę zaczyna wnerwiać.
Chcę wprawić w ruch coś jak na załączonym screenie, ale nie mogę przejść przez wypisywanie dec->bin
Jak to zmienić, żeby się przestał pluć?

std::bitset<8> converted(firstbox);

ui->bin->setText(coverted);


Normalnie w cpp to jest kwestia dwóch linijek, jak poniżej, ale tu on albo może wypisywać tylko stringi w LineEdita, albo stringi też z nich tylko wyciąga, więc powyższe jest tylko poglądowe.

std::bitset<8> converted(firstbox);

cout << converted;
Pobierz bart606 - Mirki help, bo #qt już mnie trochę zaczyna wnerwiać.
Chcę wprawić w ruch c...
źródło: comment_r6Qd3PAmI8J1Nubh8ihzaKrd3RGR1l2t.jpg
Dzień dobry. Mógłby ktoś rozwiać moje wątpliwości? Otóż załóżmy, że napisałem sobie program w #qt i chciałbym go udostępnić:
a) bez podawania kodu programu
b) z podaniem kodu programu
Czyli jeśli do każdego z wyżej wymienionych przypadków użyje licencji LGPL to mogę te programy udostępniać beż żadnych konsekwencji?
PS. Jeśli to coś zmienia, to sposób linkowania bibliotek jest dla mnie obojętny.
#naukaprogramowania
@morsisko: Generalnie przyjęło się, że z bibliotek LGPL można korzystać w programach z zamkniętym kodem źródłowym o ile użyje się linkowania dynamicznego (tj. w formie bibliotek DLL, SO, etc.). Nawet na stronie Digia można znaleźć oficjalne stanowisko odnośnie Qt, które potwierdza to co napisałem.

Jeśli chodzi o b) to bez przeszkód możesz udostępniać otwarty kod korzystający z LGPL. Jeśli Twój otwarty program będzie na licencji zgodnej z LGPL (np. GPL) to
#qt #programowanie #cpp
dałem tag programowanie bo może ktoś spoza qt będzie miał pomysł
http://www.wykop.pl/wpis/11814003/qt-probuje-odpalic-moj-program-na-innym-komputerze/
link do wczorajszego tematu

udało mi się zdiagnozować problem, ale dalej nie wiem jak sobie z nim poradzić
wpadłem na genialny pomysł i zacząłem kasować wszystkie pliki z folderu QT i odpalać mój program
i udało mi się w ten sposób zdiagnozować jakich plików potrzebuje

Wszystko działa dobrze dopóki w folderze QT znajduje się ten folder z
Pobierz trebeter - #qt #programowanie #cpp
dałem tag programowanie bo może ktoś spoza qt będ...
źródło: comment_EC3Bs6v7d4yx1S7LWWVN7LnfpWZN8tYi.jpg
@trebeter: qt.conf jest tylko po to, żeby chronić przed problemami, jak ktoś ma zainstalowaną inną wersję Qt niż ta, z którą Ty dystrybuujesz paczkę. Jak ktoś nie ma w ogóle Qt, to nie ma to znaczenia.

Czyli reasumując - depends.exe mówi, że widzi wszystko? Architektury też się zgadzają? No i czy nie pomieszałeś jakiś dll'el skompilowanych przez VS z tymi przez mingw (mówię o Qt, ale też o ewentualnych innych dllkach
#qt #programowanie #cpp

QDateTime aktualnyczasunix;
qint64 qaktualnyczasunix = aktualnyczasunix.currentMSecsSinceEpoch();

wywołuję coś takiego i wychodzą mi jakieś dziwne liczby.
currentMSecsSinceEpoch w teorii powinno mi zwrócić czas w milisekundach od 1970 do dziś, a zwraca mi tyle, że pokazuje iż mamy rok ~40 000;

qint64 QDateTime::currentMSecsSinceEpoch()

Returns the number of milliseconds since 1970-01-01T00:00:00 Universal Coordinated Time. This number is like the POSIX timet variable, but expressed in milliseconds instead.
QDateTime aktualnyczasunix;

Tutaj używasz domyślnego konstruktora, czyli:

QDateTime::QDateTime()

Constructs a null datetime (i.e. null date and null time). A null datetime is invalid, since the date is invalid.


I wszystko jasne. Użyj QDateTime::currentDateTime() (metoda statyczna), czyli:

QDateTime aktualnyczasunix = QDateTime::currentDateTime();
A poza tym zacznij czytać dokumentację Qt zanim zadasz tu pytanie, bo zadajesz pytanie o każdą pierdołę i spamujesz tagi, a nie raczysz sprawdzić najpierw co piszą w dokumentacji.
@trebeter: Pisałeś:

currentMSecsSinceEpoch w teorii powinno mi zwrócić czas w milisekundach od 1970 do dziś

Uznałem, że wiesz co piszesz :)

Natomiast inna sprawa, że currentMSecsSinceEpoch() jest metodą statyczną, tak że w ogóle Ci niepotrzebny jest obiekt klasy QDateTime(), bo ta metoda nic z obiektu nie bierze i od niego nie zależy. Po prostu:

qint64 czas_unix = QDateTime::currentMSecsSinceEpoch();
#qt #cpp #programowanie

pracuję na bazie danych
chciałbym w programie ustawić aby robiło kopię zapasową co jakiś, ustalony przez użytkownika czas
W jaki sposób to zrobić?

Przychodzi mi na myśl iż zapisuje gdzieś kiedy zrobiono kopię zapasową i w momencie gdy klikam przycisk w programie, sprawdza mi kiedy ostatnio była robiona i jeżeli czasdłuższy > czasustalony to robi kopię. Może podpowiecie mi jakieś inne rozwiązanie?
#programowanie #cpp #qt

jak wyświetlić ostatnie zapytanie do bazy danych?
korzystam z czegoś takiego: qDebug() << query->lastQuery();

ale wyświetla mi to "UPDATE klient SET imie = :aimie, nazwisko = :anazwisko, ulica = :aulica, numerdomu = :anumerdomu, kodpocztowy = :akodpocztowy, miasto = :amiasto, kraj = :akraj, telefon1 :atelefon1, telefon2 :atelefon2, email = :aemail, informacjedodatkowe = :ainformacjedodatkowe WHERE id = :idd"

jeszcze przed podmienieniem
@trebeter: podstawia pod te zmienne to co zbindowałeś, automatycznie escapując znaki i dostosowując zapytanie do wybranego silnika BD. Qt nie daje stringa po zbidowaniu bo nie jest on wykonywany przez qta tylko silnik baz danych... i samo Qt nie ma tego zapytania, na SO jest walk-around jak rzeczywiście potrzebujesz final query, chociaż wątpię żebyś je potrzebował aż tak ;)
http://stackoverflow.com/questions/5777409/how-to-get-last-prepared-and-executed-query-using-qsqlquery
#programowanie #qt #cpp

mirki
potrzebowałbym waszej pomocy ze stworzeniem jednego sygnału, nie ogarniam tego, gdybyście mi jeden pokazali dokładnie jak zrobić, dalej już sobie pozostałe porobiłbym analogicznie.
pliki:
plik1
plik1.h
plik2
plik2.h

w plik1 mam tableViev gdzie wyświetlam z bazy danych rekordy. po dwukrotnym kliknięciu na dany rekord do zmiennej **id_user zapisuje wiesz w który kliknąłem. W plik2 mam label gdzie chcę wyświetlić imię i nazwisko rekordu który kliknąłem w tableView**
Pytanie
#programowanie #qt #cpp

gry->prepare("select imie from klient where id like :id1");
gry->bindValue(":id1", globaliduser);
gry->exec();

chcę to teraz wyświetlić w label->setText(zmienna), ale chyba typy nie pasują, jak to wyciągnąć to zmiennej aby było typu String?
na dole obrazek co mi zwraca z bazy danych po wywołaniu select imie from klient where id like 3
w bazie danych kolumna imie jest typu Text, nie mogę ustawić String
Pobierz trebeter - #programowanie #qt #cpp

 gry->prepare("select imie from klient where id...
źródło: comment_TjQ28tdCgxwnwXof9gmzZGU9a9o5E6Sd.jpg
#programowanie #qt #cpp

mam plik mainwindow4.cpp
mam tam table view, wczytuję z bazy danych dane i wyświetlam
po podwójnym kliknięciu do zmiennej iduser zapisuje mi pole w które kliknąłem

teraz w pliku mainwindow7.cpp mam label gdzie chcę to wyświetlić co kryje się pod id
user

jak to najlepiej zrobić?
w jaki sposób przekazać to co się kryje pod id_user w jednym oknie do drugiego okna?
@trebeter: To może connect()?
W klasie okna numer jeden stwórz sygnał np. void idUserChanged(const QString&) i emituj go w momencie, gdy ustawisz zmienną id_user. W oknie drugim dodaj slot void displayIdUser(const QString& value) i połącz te 2 rzeczy na poziomie klasy, gdzie masz dostęp do obiektów obu okien.