Название: Глобальные координаты объекта Отправлено: ruzik от Июнь 16, 2012, 15:38 Здравствуйте, у меня есть QLineEdit и QCompleter к нему, понадобилось реализовать меню, чтобы оно имело ширину большую чем QLineEdit.
Пробовал реализовать через этот код: _completer->complete(QRect(/*x*/searchLineEdit->x(), /*y*/searchLineEdit->y() + searchLineEdit->height() + 2 ,/*width*/searchLineEdit->width() + 60, /*height*/ 120)); Если с шириной и высотой все хорошо, то координаты вычисляются неправильно, слот скорее всего ждет глобальных координат, а не локальных, которые предоставляют методы x() и y(). Соответственно вопрос: как можно узнать глобальные координаты объекта или как можно задумку реализовать по-другому? Заранее спасибо! Название: Re: Глобальные координаты объекта Отправлено: kambala от Июнь 16, 2012, 15:44 QWidget::mapToGlobal()
Название: Re: Глобальные координаты объекта Отправлено: ruzik от Июнь 16, 2012, 15:58 Спасибо за помощь, но похоже проблема не в этом, так как в это случае меню вообще выпадает из поля видимости хотя и имеет координаты
QPoint(725,432), вместо первоначальных QPoint(64,30). Использовал следующий код: _completer->complete(QRect( QWidget::mapToGlobal(QPoint(searchLineEdit->x() , searchLineEdit->y() + searchLineEdit->height() + 2)), QSize(searchLineEdit->width() + 100, 120))); Название: Re: Глобальные координаты объекта Отправлено: kambala от Июнь 16, 2012, 16:16 думаю использовать надо в виде searchLineEdit->mapToGlobal
Название: Re: Глобальные координаты объекта Отправлено: ruzik от Июнь 16, 2012, 16:22 Нет, не помогло, похоже как я уже говорил дело не в глобальности/локальности координат, а в чем-то другом
|