Сообщение Re[11]: Кто как изучал Qt? от 05.10.2015 7:14
Изменено 05.10.2015 8:29 SaZ
Здравствуйте, _hum_, Вы писали:
__>и я уже выше говорил — нет, мне недостаточно этих данных, потому что я хочу размещать редактор своего делегата сам (в произвольном нужном мне месте таблицы), соответственно, должен знать, где располагается этот parent относительно изображения таблицы (дабы понять, где начало координат). а это, в свою очередь, зависит от того, кем является parent — если основным полем таблицы — одно, если фреймом — другое, если виджетом строки — третье, и т.п.
Тогда сами создавайте редактор в обработчике мышиных эвентов в делегате. Не завязывайтесь
SaZ>>Если же вам хочется узнать, что именно скрывается за этим парентом, то вам нужно взять этот парент и уже работать с ним. Это другой контекст, он не относится к методу createEditor. Он относится именно к классу QWidget : public QObject. Которые так же хорошо документированы.
__>а можно показать пример того, о чем вы говорите — можете найти в документации информацию о том, кем является этот парент (дабы ответить на вопрос, где расположено начало координат отрисовки эдитора относительно поля таблицы)?
Где расположено? — http://doc.qt.io/qt-5/qstyleoptionviewitem.html
Либо, если вы сами пишите делегат, то вы знаете, для какой вьюхи он используется. Я вообще всегда в конструктор делегата передаю указатель на вьюху. Потому что парент — не обязательно вьюха, а, как вы верно заметили, любой виджет.
Тогда, имея индекс — http://doc.qt.io/qt-5/qabstractitemview.html#visualRect
__>и я уже выше говорил — нет, мне недостаточно этих данных, потому что я хочу размещать редактор своего делегата сам (в произвольном нужном мне месте таблицы), соответственно, должен знать, где располагается этот parent относительно изображения таблицы (дабы понять, где начало координат). а это, в свою очередь, зависит от того, кем является parent — если основным полем таблицы — одно, если фреймом — другое, если виджетом строки — третье, и т.п.
Тогда сами создавайте редактор в обработчике мышиных эвентов в делегате. Не завязывайтесь
SaZ>>Если же вам хочется узнать, что именно скрывается за этим парентом, то вам нужно взять этот парент и уже работать с ним. Это другой контекст, он не относится к методу createEditor. Он относится именно к классу QWidget : public QObject. Которые так же хорошо документированы.
__>а можно показать пример того, о чем вы говорите — можете найти в документации информацию о том, кем является этот парент (дабы ответить на вопрос, где расположено начало координат отрисовки эдитора относительно поля таблицы)?
Где расположено? — http://doc.qt.io/qt-5/qstyleoptionviewitem.html
Либо, если вы сами пишите делегат, то вы знаете, для какой вьюхи он используется. Я вообще всегда в конструктор делегата передаю указатель на вьюху. Потому что парент — не обязательно вьюха, а, как вы верно заметили, любой виджет.
Тогда, имея индекс — http://doc.qt.io/qt-5/qabstractitemview.html#visualRect
Re[11]: Кто как изучал Qt?
Здравствуйте, _hum_, Вы писали:
__>и я уже выше говорил — нет, мне недостаточно этих данных, потому что я хочу размещать редактор своего делегата сам (в произвольном нужном мне месте таблицы), соответственно, должен знать, где располагается этот parent относительно изображения таблицы (дабы понять, где начало координат). а это, в свою очередь, зависит от того, кем является parent — если основным полем таблицы — одно, если фреймом — другое, если виджетом строки — третье, и т.п.
Тогда сами создавайте редактор в обработчике мышиных эвентов в делегате. Не завязывайтесь на createEditor.
SaZ>>Если же вам хочется узнать, что именно скрывается за этим парентом, то вам нужно взять этот парент и уже работать с ним. Это другой контекст, он не относится к методу createEditor. Он относится именно к классу QWidget : public QObject. Которые так же хорошо документированы.
__>а можно показать пример того, о чем вы говорите — можете найти в документации информацию о том, кем является этот парент (дабы ответить на вопрос, где расположено начало координат отрисовки эдитора относительно поля таблицы)?
Где расположено? — http://doc.qt.io/qt-5/qstyleoptionviewitem.html
Либо, если вы сами пишите делегат, то вы знаете, для какой вьюхи он используется. Я вообще всегда в конструктор делегата передаю указатель на вьюху. Потому что парент — не обязательно вьюха, а, как вы верно заметили, любой виджет.
Тогда, имея индекс — http://doc.qt.io/qt-5/qabstractitemview.html#visualRect
__>и я уже выше говорил — нет, мне недостаточно этих данных, потому что я хочу размещать редактор своего делегата сам (в произвольном нужном мне месте таблицы), соответственно, должен знать, где располагается этот parent относительно изображения таблицы (дабы понять, где начало координат). а это, в свою очередь, зависит от того, кем является parent — если основным полем таблицы — одно, если фреймом — другое, если виджетом строки — третье, и т.п.
Тогда сами создавайте редактор в обработчике мышиных эвентов в делегате. Не завязывайтесь на createEditor.
SaZ>>Если же вам хочется узнать, что именно скрывается за этим парентом, то вам нужно взять этот парент и уже работать с ним. Это другой контекст, он не относится к методу createEditor. Он относится именно к классу QWidget : public QObject. Которые так же хорошо документированы.
__>а можно показать пример того, о чем вы говорите — можете найти в документации информацию о том, кем является этот парент (дабы ответить на вопрос, где расположено начало координат отрисовки эдитора относительно поля таблицы)?
Где расположено? — http://doc.qt.io/qt-5/qstyleoptionviewitem.html
Либо, если вы сами пишите делегат, то вы знаете, для какой вьюхи он используется. Я вообще всегда в конструктор делегата передаю указатель на вьюху. Потому что парент — не обязательно вьюха, а, как вы верно заметили, любой виджет.
Тогда, имея индекс — http://doc.qt.io/qt-5/qabstractitemview.html#visualRect