Russian Qt Forum
Октябрь 01, 2024, 02:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QWidget и элементы  (Прочитано 6767 раз)
fura
Гость
« : Октябрь 15, 2007, 15:45 »

Здраствуйте.

Я расположил на qwidgete 10 элементов qlabel. Как мне обратиться из любого места программы к конкретному qlabel'у? Весь гугл перерыл не могу найти.

Куте тока осваиваю, так что сильно не пинайте Улыбающийся.

Спасибо!
Записан
Mixolap
Гость
« Ответ #1 : Октябрь 15, 2007, 16:42 »

а ты им имена присвоил?
Записан
Kainit
Гость
« Ответ #2 : Октябрь 15, 2007, 16:43 »

Цитировать
Куте тока осваиваю, так что сильно не пинайте
Это сильно чувствуется и самым разумным советом было бы КУПИТЕ КНИЖКУ!

Цитировать
Весь гугл перерыл не могу найти
Если действительно так, то книжка не поможет, увы.

А вообще, в момент создания Label-а, вы ведь пишете
new QLabel();
и никто не мешает написать QLabel *myNewLabel = new QLabel();

также можно получать лэйбел через  метод QWidget * childAt ( int x, int y ) const

также никто не мешает пройтись по списку чайлдов формы и тоже обрести искомое.

В папочке Qt есть папочка Examples в которой есть сотня нормальных примеров, и ответы на большинство вопросов начинающих.
Почему бы не почитать экзамплы?
« Последнее редактирование: Октябрь 15, 2007, 16:45 от Kainit » Записан
fura
Гость
« Ответ #3 : Октябрь 15, 2007, 17:06 »

Цитировать
Куте тока осваиваю, так что сильно не пинайте
Это сильно чувствуется и самым разумным советом было бы КУПИТЕ КНИЖКУ!

Цитировать
Весь гугл перерыл не могу найти
Если действительно так, то книжка не поможет, увы.

А вообще, в момент создания Label-а, вы ведь пишете
new QLabel();
и никто не мешает написать QLabel *myNewLabel = new QLabel();

также можно получать лэйбел через  метод QWidget * childAt ( int x, int y ) const

также никто не мешает пройтись по списку чайлдов формы и тоже обрести искомое.

В папочке Qt есть папочка Examples в которой есть сотня нормальных примеров, и ответы на большинство вопросов начинающих.
Почему бы не почитать экзамплы?
книжка прийдет тока через месяц Грустный
думал пробросить через всю программу какого нибудь глобального вектора где и будут храниться QLabel* которые я ньюкаю...
а по поводу childAt - они будут динамически перемещаться(dragg'ится) пользователем(через MountEvent'ы) и где они будут находится в любой момент времени неизвестно.
вот про список чайлдов интересно, можно ли пометить при создании как нибудь эти лайблы чтобы потом в списки найти нужный?
первым делом все примеры пересмотрел + assasiant - нету(может быть пропустил но наврятли)
+ смотрел в /usr/include/qt4 тоже ничего не увидел Грустный
Записан
fura
Гость
« Ответ #4 : Октябрь 15, 2007, 17:10 »

> думал пробросить через всю программу какого нибудь глобального вектора где и будут храниться QLabel* которые я ньюкаю...
но это изврат и страдает идеология ООП и QT

> тоже ничего не увидел

естественно искал какиелибо поля id,name что нибудь вроде этого, чтобы можно было пометить лабл ...

наверное прийдется делать свой класс на основе QLabel и туда уже пихать object_name
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Октябрь 15, 2007, 17:45 »

А если искать по строке? Вы же создаете QLabel для отображение строк?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ритт
Гость
« Ответ #6 : Октябрь 15, 2007, 18:32 »

кулабел - наследник куобжекта
куобжект поддерживает метаобъекты/метаданные
в метаданных есть свойство "наме"
                          ||
                          \/
у любого куобжекта можно узнать наме его метаобъекта

кто подскажет по какому идентификатору сохраняется/восстанавливается расположение/состояние панелей, доков и т.д. на saveState/restoreState? Улыбающийся
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #7 : Октябрь 15, 2007, 18:52 »

+1 )))


Короче говоря, юзай

QString objectName () const
void setObjectName ( const QString & name )

и ещё глянь

QList<T> QObject::findChildren ( const QString & name = QString() ) const
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
fura
Гость
« Ответ #8 : Октябрь 16, 2007, 07:55 »

+1 )))


Короче говоря, юзай

QString objectName () const
void setObjectName ( const QString & name )

и ещё глянь

QList<T> QObject::findChildren ( const QString & name = QString() ) const

Спасибо огромное!
Записан
Dodge
Гость
« Ответ #9 : Октябрь 16, 2007, 13:21 »

кулабел - наследник куобжекта
куобжект поддерживает метаобъекты/метаданные
в метаданных есть свойство "наме"
                          ||
                          \/
у любого куобжекта можно узнать наме его метаобъекта

кто подскажет по какому идентификатору сохраняется/восстанавливается расположение/состояние панелей, доков и т.д. на saveState/restoreState? Улыбающийся

+ к этому всему, никто не отменял методы QObject'а:
setProperty( const char * name, QVariant value );
QVariant property( const char * name );

При помощи этих методов, можно в любом объекте, класс которого наследован от QObject, хранить практически лубые данные!... в том числе и свои собственные классы или структуры.
Для последнего смотрим макрос - Q_DECLARE_METATYPE
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.149 секунд. Запросов: 23.