![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
B_u_R_n |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 6.12.2011 Пользователь №: 3048 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
страницы QTabWidget создаются динамически , создаются так :
Хотелось бы что бы до клика этот таб мигал, как сделать мигание я разобрался. Создавал таймер (QTimer) и через 0.5 секунды ставил и убирал картинку на таб. Хотелось бы его засунуть в класс NewOrder . Описаниие класса вот :
Как в это классе получить ту самую табу? Спасибо Простите, таб создается так
|
|
|
ilyabvt |
![]()
Сообщение
#2
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Создавал таймер (QTimer) и через 0.5 секунды ставил и убирал картинку на таб. Хотелось бы его засунуть в класс NewOrder . Так ведь таймер у вас и так является членом класса. Цитата Как в это классе получить ту самую табу? Таб это же и есть объект вашего класса. Или вы имели ввиду получить доступ к иконке и тексту таба? P.S. А еще мне непонятно зачем вы вызываете SetIDOrder(id) сразу после объявления, если у вас в конструкторе и так передается id. |
|
|
B_u_R_n |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 6.12.2011 Пользователь №: 3048 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Создавал таймер (QTimer) и через 0.5 секунды ставил и убирал картинку на таб. Хотелось бы его засунуть в класс NewOrder . Так ведь таймер у вас и так является членом класса. Цитата Как в это классе получить ту самую табу? Таб это же и есть объект вашего класса. Или вы имели ввиду получить доступ к иконке и тексту таба? P.S. А еще мне непонятно зачем вы вызываете SetIDOrder(id) сразу после объявления, если у вас в конструкторе и так передается id. Да вы меня правильно поняли, я хочу устанавливать текст и иконку из класса NewOrder на счет id уже не помню если честно, но зачем-то так сделано Это не тот таймер, он нигде пока что не задействован |
|
|
ilyabvt |
![]()
Сообщение
#4
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: ![]() ![]() ![]() |
Цитата я хочу устанавливать текст и иконку из класса NewOrder
методы icon() и text() будут возвращать иконку и текст класса соответственно. предварительно им(иконке и тексту) конечно надо присвоить какие-нибудь значения. |
|
|
B_u_R_n |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 6.12.2011 Пользователь №: 3048 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
не совсем так
не нужно сделать примерно вот это в конструкторе NewOrder
а вот в слоте flashing делать уже setIcon на таб виджет на котором находимся |
|
|
ilyabvt |
![]()
Сообщение
#6
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: ![]() ![]() ![]() |
Для этого тебе надо знать номер этого таба.
А потом зная номер просто вызывать setTabIcon и setTabText. Ну и кроме того я бы инкаписулировал добавление таба в отдельной функции.
Тогда не надо будет дополнительно сохранять номер таба.
Сообщение отредактировал ilyabvt - 6.12.2011, 22:51 |
|
|
B_u_R_n |
![]()
Сообщение
#7
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 6.12.2011 Пользователь №: 3048 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
а как же я вызову setTabIcon и setTabText.без объекта
вроде бы пробовал так QTabWidget::setTabIcon(...); ошибка, нельзя так сделать без объекта |
|
|
ilyabvt |
![]()
Сообщение
#8
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: ![]() ![]() ![]() |
Ну можно передать объект QTabWidget через указатель, например в конструкторе (тогда не будет необходимости передавать его в методе addTab).
Только не забудь добавить в секцию private: QTabWidget *tabWidget. И в коде конструктора один указатель присвоить другому. потом вызывать
Сообщение отредактировал ilyabvt - 6.12.2011, 23:09 |
|
|
B_u_R_n |
![]()
Сообщение
#9
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 6.12.2011 Пользователь №: 3048 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
спасибо, а есть варианты без передачи указателя на объект ?
|
|
|
ilyabvt |
![]()
Сообщение
#10
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: ![]() ![]() ![]() |
Думаю нет. А иначе как узнать у какого QTabWidget надо менять иконку на табе?
Нет, ну можно конечно попробовать унаследоваться от QTabWidget создать слот в котором вызывать setTabIcon, а это слот соединить с сигналом от таймера. Сообщение отредактировал ilyabvt - 6.12.2011, 23:17 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 29.4.2025, 14:20 |