Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Paramon от Февраль 10, 2015, 10:30



Название: QLabel ссылка и курсор
Отправлено: Paramon от Февраль 10, 2015, 10:30
Имеется QLabel со ссылкой, при нажатии на ссылку текст в QLabel меняется (ссылка остается, просто текст меняется). После нажатия на ссылку и изменения текста курсор руки меняется на обычную стрелочку, хотя курсор по прежнему на ссылке.
Пробовал так
Код:
void MainWindow::on_lblMyLink_linkActivated(const QString &link)
{
    const QString strLink="<a href='#'>%1</a>";

    QCursor iCurrCursor=ui->lblMyLink->cursor();

    ui->lblMyLink->setText(strLink.arg("ссылка"));

    ui->lblMyLink->setCursor(iCurrCursor);
}

Это работает, но если текста стало меньше и курсор уже не на ссылке - то всё-равно будет курсор в виде руки пока не подвигаю мышку. Как правильно обновить состояние курсора после смены текста с учётом того, находится ли курсор на ссылке?
Благодарю за помощь.


Название: Re: QLabel ссылка и курсор
Отправлено: gil9red от Февраль 10, 2015, 11:01
А зачем это делать? ???


Название: Re: QLabel ссылка и курсор
Отправлено: Paramon от Февраль 10, 2015, 11:29
Что делать?  ??? Я всего лишь меняю текст в QLabel и хочу чтобы курсор отображался корректно.
К стати, проблема вроде решилась вот так (после изменения текста)
Код:
    ui->lblMyLink->setVisible(false);
    ui->lblMyLink->setVisible(true);
Может не красиво, но курсор принимает тот вид, каким он должен быть.


Название: Re: QLabel ссылка и курсор
Отправлено: GreatSnake от Февраль 10, 2015, 12:12
Пошли лейблу QEvent::MouseMove.