Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Dimatorus от Сентябрь 11, 2012, 14:13



Название: Автоподгонка высоты строки в QTableWidget
Отправлено: Dimatorus от Сентябрь 11, 2012, 14:13
Короче ситуация такая. Использую QTableWidget в первом столбце которого находятся QCheckBox'ы с текстом. Дело в том, что когда прога запускается высота строк там стандартная и больше чем нужно для чекбокса. То есть получается чекбокс находится посередине строки, но поля слишком большие, а мне нужно чтобы было все компактно так как будет много строк.

Если два раза кликнуть (как в Excel'е) на стыке строк в области хедеров, то строки ужимаются или расширяются до нужных размеров, то есть ничего лишнего и ничего не скрыто.

Так вот мне нужно чтобы прога при запуске вот так вот программно подгоняла размеры строк. Можно конечно и числовыми значениями задать (экспериментальным путем), но мне кажется это корявым способом и думаю есть другой метод.


Название: Re: Автоподгонка высоты строки в QTableWidget
Отправлено: GreatSnake от Сентябрь 11, 2012, 14:35
Используй CSS:
Код
CSS
QTableView::item { margin: 2px }


Название: Re: Автоподгонка высоты строки в QTableWidget
Отправлено: Dimatorus от Сентябрь 11, 2012, 16:41
Я не знаю что такое CSS и как им пользоваться. Если покажите на примере буду очень признателен.


Название: Re: Автоподгонка высоты строки в QTableWidget
Отправлено: GreatSnake от Сентябрь 11, 2012, 18:11
Таблицы стилей Qt (http://www.doc.crossplatform.ru/qt/4.7.x/stylesheet.html).


Название: Re: Автоподгонка высоты строки в QTableWidget
Отправлено: kambala от Сентябрь 11, 2012, 18:13
Я не знаю что такое CSS и как им пользоваться. Если покажите на примере буду очень признателен.
ну так может надо не полениться и заглянуть в документацию? или хотя бы нагуглить расшифровку для начала.


Название: Re: Автоподгонка высоты строки в QTableWidget
Отправлено: Dimatorus от Сентябрь 12, 2012, 15:50
GrateSnake

эту строчку куда то надо вставить?


Название: Re: Автоподгонка высоты строки в QTableWidget
Отправлено: GreatSnake от Сентябрь 12, 2012, 15:59
эту строчку куда то надо вставить?
Мде... А что первый абзац (http://www.doc.crossplatform.ru/qt/4.7.x/stylesheet.html#overview) совсем не судьба прочитать ???
Цитировать
для определенного виджета (и его потомков) посредством QWidget::setStyleSheet()


Название: Re: Автоподгонка высоты строки в QTableWidget
Отправлено: Dimatorus от Сентябрь 12, 2012, 16:16
mytable->setStyleSheet("QTableWidget::item { margin: 2px }")

так чтоли? я не до гоняю как связать одно и другое... откуда я знаю как использовать выражение { margin: 2px }... куда его пихать вообще?


Название: Re: Автоподгонка высоты строки в QTableWidget
Отправлено: GreatSnake от Сентябрь 12, 2012, 16:25
так чтоли? я не до гоняю как связать одно и другое... откуда я знаю как использовать выражение { margin: 2px }... куда его пихать вообще?
Все ответы есть в переведённой документации в ссылках указанных выше.
А вот догоняешь ты или нет, извини, это уже твои проблемы.


Название: Re: Автоподгонка высоты строки в QTableWidget
Отправлено: Dimatorus от Сентябрь 12, 2012, 18:30
Я прошу пример кода и куда его вставлять.


Название: Re: Автоподгонка высоты строки в QTableWidget
Отправлено: Dimatorus от Сентябрь 12, 2012, 18:46
Я правильный пример привел?


Название: Re: Автоподгонка высоты строки в QTableWidget
Отправлено: GreatSnake от Сентябрь 12, 2012, 19:23
Да.