Название: Для чего нужен objectName()? Отправлено: gil9red от Июнь 14, 2013, 14:36 Кроме как для findChildren() он где нибудь используется? :)
Название: Re: Для чего нужен objectName()? Отправлено: mutineer от Июнь 14, 2013, 14:48 В qml им можно пользоваться
Название: Re: Для чего нужен objectName()? Отправлено: Bepec от Июнь 14, 2013, 14:52 ObjectName является уникальным идентификатором объекта. Типа GUID'а.
Название: Re: Для чего нужен objectName()? Отправлено: Alex Custov от Июнь 14, 2013, 15:01 например, задавать стиль через CSS.
Название: Re: Для чего нужен objectName()? Отправлено: kambala от Июнь 14, 2013, 16:58 можно в слоте sender() идентифицировать по objectName
Название: Re: Для чего нужен objectName()? Отправлено: Igors от Июнь 14, 2013, 17:42 Кроме как для findChildren() он где нибудь используется? :) Странный вопрос - это базовая возможность. Доступ к контролу по адресу совсем не общий, и хранить адрес часто накладно. Нормальная ситуация - загрузка UI из ресурсов, как в нативных OS. Тогда адреса вообще изначально нет, как обратимся к контролу?Название: Re: Для чего нужен objectName()? Отправлено: tester64 от Июнь 14, 2013, 19:29 ObjectName является уникальным идентификатором объекта. Типа GUID'а. Нет. Имена вполне могут быть одинаковыми. findChildren("name") возвратит список объектов с именем "name". findChild("name") возвратит первый найденный объект с именем "name". Поиск идёт по степеням отстояния в объектной иерархии, т.е. если имеется два одноимённых объекта, один - непосредственный потомок, а другой - "внучатый", то возвращён будет первый. Если отстояние одинаковое, то результат неопределён. В какой-то мере это нечто среднее между именованием по id и name в html. Название: Re: Для чего нужен objectName()? Отправлено: lit-uriy от Июнь 15, 2013, 15:26 >Доступ к контролу по адресу совсем не общий,
А какой общий? > и хранить адрес часто накладно. Хранить адрес (4 байта) накладнее, чем хранить строку длинной Х байт? Название: Re: Для чего нужен objectName()? Отправлено: Igors от Июнь 15, 2013, 15:45 >Доступ к контролу по адресу совсем не общий, Здесь дело не в байтах. А какой общий? > и хранить адрес часто накладно. Хранить адрес (4 байта) накладнее, чем хранить QString длинной Х*2 байт? Код Все хорошо, но надо иметь edit1 который, вероятно, член класса. А теперь так Код Так надо написать SetText и вызов длиннее. Зато это можно использовать в любом окне (было бы имя). Можно находить первый видимый "edit_1". Можно делать операции в цикле напр для контролов имена которых начинаются с какой-то строки. Словом возможностей гораздо больше Название: Re: Для чего нужен objectName()? Отправлено: Day от Июнь 18, 2013, 14:04 Кроме как для findChildren() он где нибудь используется? :) Очень даже. Я в одном из проектов всем дочерним виджетам давал осмысленные имена. Например, для кнопок - имя функции. И обрабатывал все кнопки в одном месте. Для CheckBox-ов - обозначение места, куда помещать флажок (0, 1) и т.д.В общем, вы можете использовать objectName, как вам заблагорассудиться, и иногда это бывает и полезно, и красиво. |