Название: Хитрый способ захвата данных из QTableView Отправлено: Raks123 от Апрель 16, 2012, 21:25 Проблем несколько:
1. Необходимо взять данные из ячейки, причем выделена только строка (не важно какой элемент в ней), а колонка известна. Для ячейки под номером (0,0), (0,1), .... (0,n) это работает, если выделена именно она: Код: qDebug() << ui->tableView->currentIndex().data().toInt(); 2. Интересно можно ли как нибудь сделать, чтобы при присоединении модели (QSqlTableModel) QTableView и Форма (Widget) автоматически удлинялись, чтобы не было нижнего скрола, а то растягивать это дело ваще, ну очень позорно как-то. Название: Re: Хитрый способ захвата данных из QTableView Отправлено: GreatSnake от Апрель 17, 2012, 07:51 но очень бы хотелось для красоты, чтобы без разницы было, а возвращало первую ячейку любой строки. Код
Цитировать 2. Интересно можно ли как нибудь сделать, чтобы при присоединении модели (QSqlTableModel) QTableView и Форма (Widget) автоматически удлинялись, чтобы не было нижнего скрола, а то растягивать это дело ваще, ну очень позорно как-то. Код
Название: Re: Хитрый способ захвата данных из QTableView Отправлено: Raks123 от Апрель 17, 2012, 08:51 Спасибо большое, первое отлично работает))))) А вот во втором убирается скрол, но форма остается такой же, как её поменять под ширину столбцов?
Название: Re: Хитрый способ захвата данных из QTableView Отправлено: GreatSnake от Апрель 17, 2012, 10:32 Спасибо большое, первое отлично работает))))) А вот во втором убирается скрол, но форма остается такой же, как её поменять под ширину столбцов? Попробуй так:Код
Название: Re: Хитрый способ захвата данных из QTableView Отправлено: Raks123 от Апрель 17, 2012, 10:58 Попробуй так: Код
ничего не поменялось)) Название: Re: Хитрый способ захвата данных из QTableView Отправлено: GreatSnake от Апрель 17, 2012, 12:19 Тогда так:
Код
Название: Re: Хитрый способ захвата данных из QTableView Отправлено: Raks123 от Апрель 17, 2012, 12:44 Код: Получится, если сделать вот так: Но без первых трех выраниваний получается уж очень некрасиво (рис 2) по сравнению с тем, что получалось (рис 1) Название: Re: Хитрый способ захвата данных из QTableView Отправлено: GreatSnake от Апрель 17, 2012, 12:51 Ну а зачем убрал:
Код ? Название: Re: Хитрый способ захвата данных из QTableView Отправлено: Raks123 от Апрель 17, 2012, 13:21 Вооооот! ;D Вот так просто идеально)))))
Код: ui->tableView->resizeColumnsToContents(); Поменял в ширение множитель на 4, надо было самое последнее изменение убрать. Огромное спасибо за помощь)))))) Название: Re: Хитрый способ захвата данных из QTableView Отправлено: Raks123 от Апрель 18, 2012, 07:33 блин не поверишь))) Нашел косяк: когда переключаю qTableView на другую таблицу, то там тоже все нормально (рис1), но вот переключение на более мелкую косячно (рис2)
Название: Re: Хитрый способ захвата данных из QTableView Отправлено: GreatSnake от Апрель 18, 2012, 10:19 блин не поверишь))) Нашел косяк: когда переключаю qTableView на другую таблицу, то там тоже все нормально (рис1), но вот переключение на более мелкую косячно (рис2) И в чём косяк? Как задал resizeMode() так себя и ведёт.Задавай для "узких" таблиц QHeaderView::Stretch. Название: Re: Хитрый способ захвата данных из QTableView Отправлено: Raks123 от Апрель 19, 2012, 09:50 И в чём косяк? Как задал resizeMode() так себя и ведёт. Задавай для "узких" таблиц QHeaderView::Stretch. Да я уже всяко пробовал, поигрался с Код: ui->tableView->horizontalHeader()->setResizeMode( QHeaderView::ResizeToContents ); Не получается и все тут, более того QHeaderView::Stretch Возвращает ранную проблему со свертыванием записей в таблице Название: Re: Хитрый способ захвата данных из QTableView Отправлено: GreatSnake от Апрель 19, 2012, 10:14 Установка другого resizeMode() напрочь убивает лейаут предыдущего. Поэтому устанавливать один и сразу менять на другой кроме тормозов ничего не даст. Не нравится автоматическое поведение выставляй ширину колонок сам через QTableView::setColumnWidth().
Название: Re: Хитрый способ захвата данных из QTableView Отправлено: Raks123 от Апрель 19, 2012, 11:25 Почти получилось ;D Кое-что еще не так - когда со второй таблицы на первую переходишь, то таблица то сжимается, но форма остается такой же (рис1). Я уже и спейсер добавил и авторазмер в QtDesiner'e, опять что-то не то (рис2).
|