Russian Qt Forum
Ноябрь 24, 2024, 20:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGridLayout хотелось бы "привинтить" "бордюры"  (Прочитано 5534 раз)
Chuzhik
Гость
« : Июнь 01, 2012, 11:09 »

Здравствуйте.

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

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

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

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

Помогите советом, люди добрые)
Записан
Bepec
Гость
« Ответ #1 : Июнь 01, 2012, 11:51 »

Чуть чуть подправлю вопрос.

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

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

Очень облегчит задачу.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Июнь 01, 2012, 11:57 »

QGridLayout занимается геометрией своих детей и никоим образом не имеет отношения к какому-либо рисованию.
Управлять "разлиновкой" можно через цвет базового виджета, на котором задан лейаут и цветом виджетов-потомков.
Толщина линий задаётся через QGridLayout::setHorizontalSpacing() и QGridLayout::setVerticalSpacing().
Записан

Qt 5.11/4.8.7 (X11/Win)
Chuzhik
Гость
« Ответ #3 : Июнь 01, 2012, 12:28 »


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

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

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

добавлять в каждую ячейку фрейм можно, но, опять же получится что это ячейки, а не требуемые строки.
« Последнее редактирование: Июнь 01, 2012, 12:32 от Chuzhik » Записан
Bepec
Гость
« Ответ #4 : Июнь 01, 2012, 12:30 »

Чижик ты моё сообщение почитай пожалуйста Улыбающийся
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #5 : Июнь 01, 2012, 12:32 »

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

Qt 5.11/4.8.7 (X11/Win)
Chuzhik
Гость
« Ответ #6 : Июнь 01, 2012, 12:56 »

Чижик ты моё сообщение почитай пожалуйста Улыбающийся

я прочитал-) секундочку. щас придумаю что-нибудь
Записан
Chuzhik
Гость
« Ответ #7 : Июнь 01, 2012, 12:59 »

Где и как задаётся толщина рамки ячейки? Через css? Если да, то выставляй в 0 border-left-width и border-right-width.

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


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

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

Большое спасибо.
« Последнее редактирование: Июнь 01, 2012, 16:50 от Chuzhik » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.053 секунд. Запросов: 23.