Strona 1 z 1

[solved]qt4 - ustawianie pozycji w comboBox

: 28 mar 2010, 21:41
autor: urgo
Witam,
mam takie oto zagadnienie.
Raz zapisuje wartość z comboBox do zmiennej i robię to tak:

Kod: Zaznacz cały

zmienna = comboBox->currentText().toStdString();
gdzie zmienna jest typu

Kod: Zaznacz cały

std::string zmienna
Problem zaczyna się gdy chcę to zrobić w drugą stronę, czyli wstawić wartość zmiennej do comboBox

Kod: Zaznacz cały

comboBox->setCurrentText((zmienna).c_str());
otrzymuję

Kod: Zaznacz cały

src/mainwindowimpl.cpp:279: 'class QComboBox' has no member named 'setCurrentText'
Jak to nie ma!?!? Wg dokumentacji qt jest. A jeśli rzeczywiście nie ma, to jak to ustawić?

Odp: ustawianie pozycji w comboBox

: 28 mar 2010, 22:11
autor: beluosus
http://doc.trolltech.com/4.6/qcombobox-members.html
Jakoś nigdzie nie widzę funkcji setCurrentText. Użyj setCurrentIndex.
Zamiast stringa użyj QStringa (jeśliby istniała funkcja, którą nie wiadomo skąd wziąłeś to na pewno nie miałaby argumentu typu char*).
Btw, temat wątku nic nie mówi, nie wiadomo jaki język ani jakie środowisko.

Odp: ustawianie pozycji w comboBox

: 28 mar 2010, 22:18
autor: Struchu
Hmmm, w wersji 4.6 nie ma czegoś takiego - jest tylko setCurrentIndex(). Odsyłam do: http://doc.trolltech.com/4.6/qcombobox.html

EDIT:
Czuję się wyprzedzony ;)

Odp: qt4 - ustawianie pozycji w comboBox

: 29 mar 2010, 18:33
autor: urgo
Dzięki za szybka odpowiedź. Zaręczam Was, że sobie tego nie wymyśliłem. :smile: Mam Qt w wersji 4.5.2 i do pisania kodu używam Qdevelop 0.27. Zarówno w dokumentacji Qt, którą przeglądam poprzez Qdevelop, jak i w podpowiedziach pokazujących się po wpisaniu słowa:

Kod: Zaznacz cały

comboBox->
jest funkcja setCurrentText().
Widocznie macie rację, czyli ja mam starą dokumentację. Nie wiem czemu różni się ona od tego co mam w Qt, ale to już nie ważne. Będę używał setCurrentIndex.

Dzięki za pomoc.