Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt] Efekt przeglądarkowego AJAX'u w programie

Ostatnio zmodyfikowano 2013-04-22 21:15
Autor Wiadomość
Unlimited
Temat założony przez niniejszego użytkownika
[Qt] Efekt przeglądarkowego AJAX'u w programie
» 2013-04-21 23:15:15
Witam. Ostatnio zacząłem się zastanawiać czy jest możliwość zrobienia w Qt efektu AJAX'u takiego jak można spotkać nieraz na stronach www.
Np. aby border lineedit'u był czerwony jeśli zacznę wpisywać do niego ciąg liter zamiast liczb, a zielony jeśli faktycznie będę wpisywał liczby.
Wszystko się dzieje po kliknięciu czegoś więc równie dobrze mógłbym zrobić button sprawdzający te wartości przed zatwierdzeniem ale to tylko dodaje klikania dla użytkownika. A może? można zrobić aby to robiło się automatycznie. Wiecie jak tego dokonać i czy w ogóle da się to zrobić?
P-81007
sajmon
» 2013-04-21 23:55:24
w qt możesz na kontrolki normalnie nakładać css, więc jak sobie tam sprawdzisz już czy są w niej liczby czy coś innego to możesz za pomocą css łatwo zmienić kolor obramowania :)
http://qt-project.org/doc/qt-5.0/qtwidgets/stylesheet.html
P-81009
sajmon
» 2013-04-22 10:10:07
sorki teraz zobaczyłem, że jeszcze chcesz to osiągnąć bez klikania w guziki i nie wiesz jak.
Więc musisz zainteresować się emitowanymi sygnałami prze QLineEdit a dokładnie (wybierz sobie jeden):

void textEdited(const QString & text) - tylko jeśli użytkownik coś wpisał, jeśli ustawisz tekst metodą setText(...) sygnał nie będzie emitowany
void textChanged(const QString & text) - sygnał działa na wszystkie zmiany w polu tekstowym

const QString & text - to jest nowy QString w polu

No i pozostaje ci podpiąć własnego slota pod sygnał, po czym będziesz mógł odbierać zmianę QStringa i na bieżąco go weryfikować i za pomocą css zmieniać obramowanie itp :)
P-81013
Unlimited
Temat założony przez niniejszego użytkownika
» 2013-04-22 21:15:34
No i za to należy Ci się browar! Dzięki wielkie. Wszystko działa jak należy.
P-81029
« 1 »
  Strona 1 z 1