Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 30, 2016 20:45:23

Lestoroer
Зарегистрирован: 2015-12-24
Сообщения: 88
Репутация: +  5  -
Профиль   Отправить e-mail  

Рамка QWidget


Имеется вот такое окно (на самом деле это QMessageBox), но не важно. Смысл в том, что у меня получилось перерисовать все что угодно, кроме основной рамки на которой имеется титульная надпись. Как это сделать? PaintEvent особо не знаю, может кто подскажет куда там копать? с помощью CSS по-моему это нереально. Мне бы хотя цвет поменять, этого будет достаточно.

Офлайн

#2 Июль 1, 2016 00:29:51

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Рамка QWidget

layout.setMargin() ?

Офлайн

#3 Июль 1, 2016 06:16:26

Lestoroer
Зарегистрирован: 2015-12-24
Сообщения: 88
Репутация: +  5  -
Профиль   Отправить e-mail  

Рамка QWidget

vic57
layout.setMargin() ?
Что-то не очень понятна идея. Это нужно сделать окно без стандартной рамки с помощью setWindowFlags. Далее добавляем это в лайаут и делает отступы, после этого края заливаем, рисуем кнопки и назначаем им определенные функции?
Хм. Интересеный вариант. (если это подразумевалось). В принципе нарисовать крестик и назначить ему обработчик не проблема, да и изменение размера виджета должна оставаться.
А вот что будет у других окон, которые наследуются от QWidget это что, каждое таким образом перерисовывать ?
Почему они не сделали функцию что-то наподобие setColor и прописываешь цвет этой границы.

Офлайн

#4 Июль 1, 2016 10:44:03

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2682
Репутация: +  182  -
Профиль   Отправить e-mail  

Рамка QWidget

Тебе надо заголовок перерисовать? Так это не получится, его “оконный манагер” рисует.

> да и изменение размера виджета должна оставаться.
Ничего у тебя не останется, всё это делает “оконный манагер”, а ты его игнорируешь.

> у других окон, которые наследуются от QWidget
Сколько раз можно повторять: “Не наследуйте окна от QWidget!”



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#5 Июль 2, 2016 14:25:28

Lestoroer
Зарегистрирован: 2015-12-24
Сообщения: 88
Репутация: +  5  -
Профиль   Отправить e-mail  

Рамка QWidget

Rodegast
Тебе надо заголовок перерисовать? Так это не получится, его “оконный манагер” рисует.> да и изменение размера виджета должна оставаться.Ничего у тебя не останется, всё это делает “оконный манагер”, а ты его игнорируешь.> у других окон, которые наследуются от QWidgetСколько раз можно повторять: “Не наследуйте окна от QWidget!”
setWindowFlags(Qt.FramelessWindowHint)
        setWindowFlags(Qt.CustomizeWindowHint)
С помощью этих флагов можно что-нибудь придумать. В первом случае останется сделать растяжение, а во втором можно так оставить, так всего лишь маленькая рамочка по бокам.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version