powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как перехватить событие QTableView::columnResized ?
7 сообщений из 7, страница 1 из 1
Как перехватить событие QTableView::columnResized ?
    #38390126
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заранее приношу извинения за профанские вопросы (изучаю с++).

Пытаюсь создать свой виджет из QTableView. Есть необходимость выполнять какие-либо действия при изменении ширины колонок.
Некоторые фрагменты кода создания класса:

В заголовочнике MyQTableView.h

class MyTableView : public QTableView
.
.
protected slots:
void columnResized(int column, int oldWidth, int newWidth);
.
.


В исходнике MyQTableView.cpp

.
.
.

void MyQTableView::columnResized(int column, int oldWidth, int newWidth)
{
QMessageBox::information(this, "Инфо", "Изменили ширину");
}


Компилится все нормально, без ошибок и ничего не происходит при изменении ширины столбца. Что не так делаю ?


Пишу как умею. Дорого, долго...
...
Рейтинг: 0 / 0
Как перехватить событие QTableView::columnResized ?
    #38390165
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это "слот" а не "метод". Его надо не переопределять, а подключать.
Читай до просветления:
http://qt-project.org/doc/qt-5.0/qtcore/signalsandslots.html
...
Рейтинг: 0 / 0
Как перехватить событие QTableView::columnResized ?
    #38390212
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl, Хм.. так я почему-то и думал, что он подключен к какому-либо сигналу внутри класса (могу выражаться не корректно ввиду не полного понимания все модели взаимодействия объектов в Qt и C++). В моем случае, к чему я его могу подключить ? (А главное зачем ?). Сигнала или события, генерируемых при изменении размеров столбцов, я пока, в доступных мне документациях, не нашел. Весь ассистент до конца детально не прочитал Может я вообще не правильным путем иду ? Тогда попробуем так....

Как отследить изменение размеров столбца в QTableView ?
...
Рейтинг: 0 / 0
Как перехватить событие QTableView::columnResized ?
    #38390223
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашол.. можно присоединиться к сигналу заголовков... connect(this->horizontalHeader(), SIGNAL(sectionResized(int, int, int)), this, SLOT(on_columnRsized(int, int, int)));
...
Рейтинг: 0 / 0
Как перехватить событие QTableView::columnResized ?
    #38390363
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlЭто "слот" а не "метод". Его надо не переопределять, а подключать.
Читай до просветления:
http://qt-project.org/doc/qt-5.0/qtcore/signalsandslots.html

Подключить его конечно надо, но не обязательно руками. В 80% это делает компилятор GUI сам, автоматом, на основе имени слота в коде.
...
Рейтинг: 0 / 0
Как перехватить событие QTableView::columnResized ?
    #38390365
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegov,

Имя слота неверное, тогда тебе придется его коннектить самому.
...
Рейтинг: 0 / 0
Как перехватить событие QTableView::columnResized ?
    #38390420
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо, тебе нужен сигнал

void QHeaderView::sectionResized(int logicalIndex, int oldSize, int newSize) [signal]

заголовка приконнектить на соотв. свой слот.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как перехватить событие QTableView::columnResized ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]