crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Индекс элемента в массиве
greh
  опции профиля:
сообщение 8.10.2010, 13:02
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 23.11.2009
Пользователь №: 1252

Спасибо сказали: 0 раз(а)




Репутация:   0  


Как определить индекс элемента в массиве при получении сигнала от него?

Пример:

h:
static const unsigned short COLOR_COUNT = 5;

QColorDialog* Dialog[COLOR_COUNT];

QColor* Color[COLOR_COUNT];

void SetColor(QColor SelectedColor);


cpp:
for(int i = 0; i < COLOR_COUNT; i++)
connect(Dialog[i],SIGNAL(colorSelected(QColor)),this,SLOT(SetColor(QColor)));

void MainWindow::SetColor(QColor SelectedColor)
{
    unsigned index = ???;

    Color[index] = SelectedColor;
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
kwisp
  опции профиля:
сообщение 8.10.2010, 13:43
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(greh @ 8.10.2010, 14:18) *
QColorDialog* sender = qobject_cast<QColorDialog *>(QObject::sender());
unsigned index = sender->objectName().toInt();

можно это заменить на
unsigned index;
if(sender()) index = sender()->objectName().toInt();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.4.2024, 20:59