Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: zoro86 от Февраль 15, 2010, 12:04



Название: QSignalMapper есть недостаток...
Отправлено: zoro86 от Февраль 15, 2010, 12:04
тут в общем такая ситуация,
У меня в проге есть набор объектов QLabel в виде кнопок,
все они помещаются в QSignalMapper:

signalMapperGroup.setMapping(btnGroup, btnGroup);      
connect(btnGroup, SIGNAL(linkActivated(QString)), &signalMapperGroup, SLOT(map()));

это в цикле конечно.

Далее:

connect(&signalMapperGroup, SIGNAL(mapped(QWidget *)), this, SLOT(btnMainGroupClicked(QWidget *)));

так вот и сам слот:

void MainWindow::btnMainPrvClicked(QWidget *w)
{   
   w->setText("<b>После нажатия<b/>");// Тут могут вставляться и картинки которых нет в .qrc

}

так вот и вопрос, так как это QWidget он и говорит что такого метода нет, как мне быть? как вставить Html в QLabel через QSignalMapper??


Название: Re: QSignalMapper есть недостаток...
Отправлено: registrationfedser87 от Февраль 15, 2010, 12:08
QLabel *l = qobject_cast<QLabel *>(w);
if (l)
  w->setText("<b>После нажатия<b/>");


Название: Re: QSignalMapper есть недостаток...
Отправлено: zoro86 от Февраль 15, 2010, 12:45
OK... сработало спасибо... если не трудно смысл обясните пожалуйста... проста я в с++ не очень рублю..


Название: Re: QSignalMapper есть недостаток...
Отправлено: registrationfedser87 от Февраль 15, 2010, 13:02
Это привидение типа. Вы приводите тип к нужному. Если операция прошла неудачно, то возращается 0.