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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: 1 пиксельный сплиттер  (Прочитано 5473 раз)
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« : Октябрь 27, 2011, 09:53 »

Сабж сделать не проблема, проблема его красиво нарисовать (да, тема о5 о стайлорисовании).
Рисую так:
Код:
void MiniSplitterHandle::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    painter.fillRect(event->rect(), Qt::darkGray);
}
На маке все выглядит хорошо, а на линуксе с охуген стайлом - нет.
Дефолтный сплиттер/дефолтный фон виджетов тоже не подходят, тк плохо выглядят на маке (зато на линуксе хорошо)
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Октябрь 27, 2011, 10:32 »

Имхо, с хендлом всё нормально - просто рамки левой и правой формы в линуксовой теме толще.
Записан

Qt 5.11/4.8.7 (X11/Win)
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #2 : Октябрь 27, 2011, 10:35 »

GreatSnake
Я понимаю, и хотел бы это учитывать - например хотя бы рисовать полосу не сверху донизу, а отступя. Но я не нашел метрики, к-ая за этот отступ отвечает:(
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Октябрь 27, 2011, 10:47 »

GreatSnake
Я понимаю, и хотел бы это учитывать - например хотя бы рисовать полосу не сверху донизу, а отступя. Но я не нашел метрики, к-ая за этот отступ отвечает:(
Не понял про какой отступ идёт речь.
Записан

Qt 5.11/4.8.7 (X11/Win)
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #4 : Октябрь 27, 2011, 10:48 »

рамки форм
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #5 : Октябрь 27, 2011, 10:52 »

См. CSS Box Model.
Записан

Qt 5.11/4.8.7 (X11/Win)
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #6 : Октябрь 27, 2011, 14:37 »

я не спрашивал как мне эти значения задать. я спрашивал, как их получить. ни 1 из маржинов стиля не подходит.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #7 : Октябрь 27, 2011, 14:46 »

QStyle::SE_ShapedFrameContents
либо
QFrame::frameWidth()
Записан

Qt 5.11/4.8.7 (X11/Win)
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #8 : Октябрь 27, 2011, 21:37 »

лучше рисовать трехпиксельный.
края - даркгрей, центр лайтгрей и 3 точки посередине иначе нефига не понятно сплитер это или чЁ..
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #9 : Октябрь 27, 2011, 23:04 »

GreatSnake
SE_ShapedFrameContents - это же не пиксель метрика; то естья могу отрисовать фрейм сам, но не высчитать отступ. А вот фрейм можно попробовать (тк сплиттер от него наследуется, мб и прокатит)

panAlexey
наличие курсора тягального явно намекает.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #10 : Октябрь 27, 2011, 23:11 »

Кстати как вариант устроит 0-пиксельный сплиттер, если это вообще возможно:)
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #11 : Октябрь 28, 2011, 00:53 »

panAlexey
наличие курсора тягального явно намекает.
молодец, готовь юзверю польше таких скрытых возможностей, на которых напороться можно лишь случайно и он тебя возлюбит по достоинству.
Кто тебя интерфейс учил делать?
Негры на пальцах в темной комнате?
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #12 : Октябрь 28, 2011, 08:23 »

panAlexey
тебе сделать скриншотов маковских сплиттеров?
креатор можешь открыть, для разнообразия

мне нужно эмулировать по сути док, у к-го нет хэндла, ога?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #13 : Октябрь 28, 2011, 14:31 »

В общем пропатчил Qt - теперь сплиттеру можно задавать хэндл 0го размера, надеюсь мерж реквест примут. Выглядит как-то так - http://mtgs.clan.su/andromeda/minisplitter.png
Виджеты расположены по горизонтали в сплиттере, 4пикселя draggable полоска между ними.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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