Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Chuzhik от Июнь 01, 2012, 11:09



Название: QGridLayout хотелось бы "привинтить" "бордюры"
Отправлено: Chuzhik от Июнь 01, 2012, 11:09
Здравствуйте.

Видимо хронический недосып и неуверенное знание Qt окончательно ввели меня в отчаяние.

Работаю в Eclipse+Qt 4.x
никакой визуальной разработки, всё руками.

Задача такая. есть таблица. 7 на 3.
Использую QGridLayout. Мне всё безумно нравится, аккуратно, красиво. Но, увы, по тех заданию появилась необходимость в этой таблице "привинтить" разлиновку. Т.е. что бы каждая строка имела что-то вроде собственного фрейма. вот я и растерялся.
По клеточкам смотрется ущербно. нужно именно как-то выделит строки.

Документацию всю пролистал, толи у меня глаза замылены,то ли такой возможности реально нет

Помогите советом, люди добрые)


Название: Re: QGridLayout хотелось бы "привинтить" "бордюры"
Отправлено: Bepec от Июнь 01, 2012, 11:51
Чуть чуть подправлю вопрос.

Есть QGridLayout. В виде таблицы.

Провести разлиновку. ммм... Ты не мог бы привести скрины, как у тебя сейчас (в натуральном виде) И скрин, на котором ты нарисуешь то, что должно получится в конце. Угум?

Очень облегчит задачу.


Название: Re: QGridLayout хотелось бы "привинтить" "бордюры"
Отправлено: GreatSnake от Июнь 01, 2012, 11:57
QGridLayout занимается геометрией своих детей и никоим образом не имеет отношения к какому-либо рисованию.
Управлять "разлиновкой" можно через цвет базового виджета, на котором задан лейаут и цветом виджетов-потомков.
Толщина линий задаётся через QGridLayout::setHorizontalSpacing() и QGridLayout::setVerticalSpacing().


Название: Re: QGridLayout хотелось бы "привинтить" "бордюры"
Отправлено: Chuzhik от Июнь 01, 2012, 12:28

Управлять "разлиновкой" можно через цвет базового виджета, на котором задан лейаут

Да, спасибо. В этом направлении копаю, единственное "но".

Каждая ячейка QGridLayout'a , обводится бордером. И, каждый виджет... По сути, мне нужно сделать таблицу. в которой не было бы отображения вертикальных линий.

добавлять в каждую ячейку фрейм можно, но, опять же получится что это ячейки, а не требуемые строки.


Название: Re: QGridLayout хотелось бы "привинтить" "бордюры"
Отправлено: Bepec от Июнь 01, 2012, 12:30
Чижик ты моё сообщение почитай пожалуйста :)


Название: Re: QGridLayout хотелось бы "привинтить" "бордюры"
Отправлено: GreatSnake от Июнь 01, 2012, 12:32
Каждая ячейка QGridLayout'a , обводится бордером. И, каждый виджет...
Где и как задаётся толщина рамки ячейки? Через css? Если да, то выставляй в 0 border-left-width и border-right-width.


Название: Re: QGridLayout хотелось бы "привинтить" "бордюры"
Отправлено: Chuzhik от Июнь 01, 2012, 12:56
Чижик ты моё сообщение почитай пожалуйста :)

я прочитал-) секундочку. щас придумаю что-нибудь


Название: Re: QGridLayout хотелось бы "привинтить" "бордюры"
Отправлено: Chuzhik от Июнь 01, 2012, 12:59
Где и как задаётся толщина рамки ячейки? Через css? Если да, то выставляй в 0 border-left-width и border-right-width.

через setStyleSheet() виджета, в котором расположе гридлэйаут.


Добавлено в 17:49

Спасибо) всё получилось, правда и не совсем так. дальше буду изобретать велосипеды.

Большое спасибо.