Название: QWizard, QWizardPage, Не могу получить текст из QComboBox Отправлено: juvf от Июнь 05, 2008, 08:30 Есть визард с несколькими страничками. На одной из стриниц QWizardPage есть QComboBox *poet с двумя c
строками "Пушкин" и "Есенин". В этой странице регистрирую поле registerField("stopBit*", poet);. В визарде в accept() пытаюсь получить QString select = field("stopBit").toString(); в результате получаю в select либо "0", либо "1". Т.е. индекс. А нужен текст. "Пушкин" или "Есенин". По умолчанию в поле stopBit будет регистрироваться свойство currentIndex для QComboBox по сигналу currentIndexChanged(). Как Изменить умолчания? Нужно чтоб регистриовалось свойство currentText. В примерах Qt ни чего подобного не нашел. Пробывал registerField("stopBit", poet, "currentText"); - при такой регистрации select получается "Пушкин" или "Есенин". То что нужно. Но тогда кнопка "Next"("Finish") не блокируеться при невыбранном поэте. Пробывал registerField("stopBit*", poet, "currentText"); - кнопка "Next"("Finish") блокируеться, но при выборе не разблокируетя и соответственно в accept() я не попадаю. Кто-нибудь пробывал поменять свойства или сигналы определенные по умолчанию и перечисленные в описании void QWizardPage::registerField? Какой синтакс у функций QWizard::setDefaultProperty() и QWizardPage::registerField()? registerField("stopBits*", "currentText", "currentIndexChanged()"); //такой? или registerField("stopBits*", "QString currentText", "currentIndexChanged(const QString&)"); //такой? ps Примерный код finddialog.h Код: #ifndef FINDDIALOG_H main.cpp Код: #include <QApplication> Название: Re: QWizard, QWizardPage, Не погу получить текст из QComboBox Отправлено: uriel от Июнь 05, 2008, 08:42 Если посмотреть в исходники класса QWizard, то можно заметить, что по-умолчанию свойства задаются следующим образом:
Код: const int NFallbackDefaultProperties = 7; Название: Re: QWizard, QWizardPage, Не погу получить текст из QComboBox Отправлено: juvf от Июнь 05, 2008, 10:33 спасибо.
рагистрация registerField("speed*", speedQComboBox, "currentText", SIGNAL(currentIndexChanged(QString)) ); решила мою проблему. |