Css для QTableView |
Здравствуйте, гость ( Вход | Регистрация )
Css для QTableView |
Andrewshkovskii |
15.10.2010, 11:26
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Можно ли изменить border для подсветки выделения в tableView?
Допустим, в конкретном примере мне надо у этого выделения изменить border-radius как у виджета TableView, что бы оно так не выпирало за видимые границы, и сделать его бесцветным (это я так понимаю через selection-background-color , но как там поставить бесцветное выделение ? ) , т.е оставить только окантовку, что бы было понятно, что строка выбрана. |
|
|
igor_bogomolov |
15.10.2010, 11:40
Сообщение
#2
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Цитата(Andrewshkovskii) но как там поставить бесцветное выделение ? transparent устанавливает прозрачный фон. |
|
|
Andrewshkovskii |
15.10.2010, 11:47
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
По логике-то оно так, а вот на деле далеко не так, вот такой у меня стоит стиль на весь QTableWidget (его взял для примера в дизайнере, ибо во вьюху просто айтемы не забьешь )
:
Но ничего не происходит в изменении выделения. Тем более, если я не закомментирую стиль для item'ма, то при хайлайте я просто ничего не увижу, т.е в палитре HighlightedText становиться в белый... |
|
|
igor_bogomolov |
15.10.2010, 12:03
Сообщение
#4
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Тогда не знаю как через css. Я бы навесил на таблицу делегат который не рисовал бы это выделение
|
|
|
Andrewshkovskii |
15.10.2010, 12:16
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Как-то печально, что нельзя через цсс, а что делать с границами вьюхи?
Просто, получается , что у виджета я делаю радиус на границах, а сама вьюха выезжает за границы виджета, и получается коряво, а QTableView { border-radius : ..} не помогает.. Вот я выделил, что не изменяет радиус при таком css :
Сообщение отредактировал Andrewshkovskii - 15.10.2010, 13:40 |
|
|
igor_bogomolov |
16.10.2010, 2:09
Сообщение
#6
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
осто, получается , что у виджета я делаю радиус на границах, а сама вьюха выезжает за границы виджета Andrewshkovskii, попробуй такой вариант.
|
|
|
Andrewshkovskii |
18.10.2010, 1:03
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Спасибо за наводку, Игорь, но половина цсски получилась не нужной, вот что оставил и что получилось :
На рисунке видно, что бордер то для хидера поменялся, но вот сами элементы налазят на границу, т.е. как-то они не относятся к цссу QHeaderView, через QHeaderView::item не смог достучаться, так как тогда получить к ним доступ ? А, я кажется понял, доступ к самим элементам хидера через ::section ? |
|
|
Andrewshkovskii |
19.10.2010, 11:11
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Так...Ну я забил возиться с бордером таблицы, ибо там ещё придется изменять положения скроллов, сдвигать хидер вниз, просто убрал границу. Теперь возникла потребность убрать выделение(фокус) на виджете (эта та dotted огранка вокруг выделенного элемента в таблице), в интернетах нашел такое решение :
Но выделение все-равно остается, т.е задний фон ячейки окрашивается в прозрачный, и выделение видно все равно, а мне нужно что бы просто строка подсвечивалась без выделения. Если менять background-color на другой, отличный от прозначного цвет, то focus (огранка) опять появляется. Как быть? ++ Я так понимаю, что для ::item:focus , цвет заднего фона если стоит transparent, то он будет цвета заднего фона самого виджета. Так добился что бы не менялся фон для выбранной ячейки, но появляется этот фокурс (огранта ввиде dotted border) :
Как от неё избавиться ? Сообщение отредактировал Andrewshkovskii - 19.10.2010, 11:07 |
|
|
Гость_JaguaR_* |
16.2.2011, 16:31
Сообщение
#9
|
Гости |
Поставь:
* {outline: 0;} Это для всех виджетов. Для конкретного то же свойство. |
|
|
Текстовая версия | Сейчас: 28.12.2024, 12:33 |