Russian Qt Forum

Qt => Общие вопросы => Тема начата: Wander от Февраль 12, 2009, 11:15



Название: Не умею пользоваться Assistant помогите !!!
Отправлено: Wander от Февраль 12, 2009, 11:15
Товарищи !!!
Прошу не смеяться с моего вопроса, а кому не трудно помочь.

Поставил я QT Creator - там все в одном, мне нравиться, весь проект создается сам.

Когда я перехожу в режим редактирования сигналов/слотов и связываю объекты, все работает.
А вот как писать вручную - аж слезы берут.

Например я поставил на форму вып.список comboBox и метку label_1 нажимаю правой кнопкой на комбобоксе и выбираю Go to Slot...  а там - currentIndexChanget(int)

Открывается редактор в нем есть:

void MainWindow::on_comboBox_currentIndexChanged(int)
{
}
я хочу, например, чтоб как индекс списка изменился, взять его и сложить с неким числом - и после вывести на label_1

я вписываю :
QObject::connect(comboBox,SIGNAL(IndexChanged(int),label_1, SLOT(setText(и тут сложение нада написать, я так понимаю))));

Ну в общем немогу я - напишите как нада писать в этой строчке, а по примеру я буду разбираться и может пойму как использовать Assistant
Спасибо за внимание


Название: Re: Не умею пользоваться Assistant помогите !!!
Отправлено: lit-uriy от Февраль 12, 2009, 11:20
не надо этого соединения. Дизайнер тебе уже сделал заготовку функции-слота в ней и пиши вычисление. (в данном случае работает автосоединение )

П.С. к чему в название темы Асистент упоминается?


Название: Re: Не умею пользоваться Assistant помогите !!!
Отправлено: Wander от Февраль 12, 2009, 11:28
"Дизайнер тебе уже сделал заготовку функции-слота в ней и пиши вычисление. "

То есть это уже заготовка :
void MainWindow::on_comboBox_currentIndexChanged(int)
{
}

ну как туда написать, что б взять число с комбобокса сложить его с чем то и вывести на Лейбл ???

Извините за навязчивость :-X


Название: Re: Не умею пользоваться Assistant помогите !!!
Отправлено: BRE от Февраль 12, 2009, 11:32
"Дизайнер тебе уже сделал заготовку функции-слота в ней и пиши вычисление. "

То есть это уже заготовка :
void MainWindow::on_comboBox_currentIndexChanged(int)
{
}

ну как туда написать, что б взять число с комбобокса сложить его с чем то и вывести на Лейбл ???

Извините за навязчивость :-X
Код
C++ (Qt)
void MainWindow::on_comboBox_currentIndexChanged( int value )
{
   int result = value + chtoto;
   label->setText( QString::number( result ) );
}
 


Название: Re: Не умею пользоваться Assistant помогите !!!
Отправлено: Wander от Февраль 12, 2009, 11:34
Спасибо, теперь я понял.


Название: Re: Не умею пользоваться Assistant помогите !!!
Отправлено: lit-uriy от Февраль 12, 2009, 11:40
2 Wander, мой совет такой, непользуйся Дизайнером на данном этапе освоения Qt, пиши все руками, быстрее разберешся.


Название: Re: Не умею пользоваться Assistant помогите !!!
Отправлено: pastor от Февраль 12, 2009, 13:55
BRE, в слот on_comboBox_currentIndexChanged передается индекс и не значение по индексу. Твой пример может запутать Wander'a.

Код
C++ (Qt)
void MainWindow::on_comboBox_currentIndexChanged( int index )
{
   QString itemStr = comboBox->itemText(index);
   bool ok;
   int value = itemStr.toInt(&ok);
   if (!ok) return;
 
   int result = value + chtoto;
   label->setText( QString::number( result ) );
}


Название: Re: Не умею пользоваться Assistant помогите !!!
Отправлено: BRE от Февраль 12, 2009, 14:14
BRE, в слот on_comboBox_currentIndexChanged передается индекс и не значение по индексу.
Упс, полностью осознаю свою промашку.  ;D

Кстати, у QLabel есть методы setNum(), можно сделать:
Код
C++ (Qt)
label->setNum( result );
 


Название: Re: Не умею пользоваться Assistant помогите !!!
Отправлено: Wander от Февраль 17, 2009, 13:08
Спасибо большое за помощь.
Теперь я, в принципе, сам смеюсь со своего вопроса.
Вопрос был связан с моей необознанностью. Дело в том, что я писал раньше на СИ ++ только консольные програмки и не имел понятия о декларации классов и о классах в целом. Теперь немного разобравшись с этим вопросом - все встало на сои места.
И примеры из Ассистанта теперь не запутываю меня.
Спасибо еще раз. Может в будущем я буду просить помощи в более сложных вопросах. 


Название: Re: Не умею пользоваться Assistant помогите !!!
Отправлено: ритт от Февраль 17, 2009, 14:39
писал на плюсах и не имел понятия о классах? как-то это жутковато звучит :)


Название: Re: Не умею пользоваться Assistant помогите !!!
Отправлено: BaltikS от Февраль 17, 2009, 14:52
писал на плюсах и не имел понятия о классах? как-то это жутковато звучит :)
+1
Можно было не писать на плюсах тогда :)