Здравствуйте, Igore, Вы писали:
I>Здравствуйте, Gordon Freeman, Вы писали:
GF>>Доброго всем времени дня.
GF>>Пытаюс вызвать метод при передаче имени объекта в функцию.
I>Передача дополнительных данных которых нет в сигналеАвтор: Igore
Дата: 18.02.15
GF>>Подгружаю данные в таблицу:
GF>>Direction_0_1 = new QTableWidget(0, 0, Direction_0);
I>Лучше сразу хорошо делать, использовать QTableView
GF>>По нажатию кнопки колонки должны изменить ширину по размеру данных. В первом случае всё работает:
GF>>connect(resizeallcol, SIGNAL(clicked()), this, SLOT(SetAutocol()));
GF>>Во втором нет:
GF>>connect(resizeallcol, SIGNAL(clicked()), this, SLOT(SetAutocol(Direction_0_1)));
I>Слот не может принимать больше параметров чем испускается в сигнале.
GF>>Компилятор не ругается, но результат нулевой.
I>При таком синтаксисе ошибка во время исполнения, в Output выведется, и connect false вернет
GF>>P.S. Я в Qt и С++ новичёк. Учу потихоньку. Прошу сильно не ругать.
I>А зачем тебе передавать table как параметр?
I>I>connect(resizeallcol, SIGNAL(clicked()), this, SLOT(SetAutocolDirection_0_1()));
I>void MainWindow::SetAutocolDirection_0_1()
I>{
I> Direction_0_1->resizeColumnsToContents();
I>}
I>// Или даже объединить
I>connect(resizeallcol, &QPushButton::clicked, this, [this](){Direction_0_1->resizeColumnsToContents();});
I>
Здравствуйте.
Спасибо всем за ответы.
Программа должна подгружать .csv файлы (коих может быть более дюжины) в таблицы. Затем в таблицах всё фильтроваться (удалять ненужное и т.д.).
Т.к. количество таблиц не фиксировано, я попытался написать универсальную ф-ю, которая выполняля бы нужные операции при передаче в неё указателя на таблицу как параметра.
Если вызываю ф-ю без параметра, при этом в теле её указывая таблицу (мини-слот как указал К13), то всё пашет: connect(resizeallcol, SIGNAL(clicked()), this, SLOT(SetAutocol()));
Проблема в том, что тогда на каждую таблицу придётся писать отдельную ф-ю.