Russian Qt Forum
Июня 18, 2025, 22:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как убрать "уголки" у custom QMenu под Linux  (Прочитано 3787 раз)
Klerfe
Гость
« : Февраля 07, 2017, 12:33 »

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

Вначале работал под  Win7
Решил сделать меню с закруглёнными краями при помощи QSS.
Код:
QMenu { border-radius: 5px; }
Однако, после применения setStyleSheet() стали  видны белые уголки по краям меню. Немного покапавшись на иностранных форумах было найдено решение:
Код:
void MainWindow::setFlagMenu(QMenu *_menu){
    _menu->setWindowFlags(_menu->windowFlags() | Qt::NoDropShadowWindowHint | Qt::FramelessWindowHint);
        _menu->setAttribute(Qt::WA_TranslucentBackground);
        _menu->setAttribute(Qt::WA_NoSystemBackground);
}

И всё бы хорошо, но основная платформа это linux и точно такой же фокус с флагами и атрибутами там не получается.
Вопрос в том как убрать эти "уголки". Пока никак не удаётся найти решение или флаги, которые выполняли бы эти же функции.
Буду благодарен за любую помощь или подсказки.

версия Qt 5.5.1 (GCC 4.7.2, 64 бита)
Так же прилагаю сам тестовый проект (извиняюсь за архив в архиве, иначе не получалось в 500Кб уложиться)  
« Последнее редактирование: Февраля 08, 2017, 11:30 от Klerfe » Записан
Klerfe
Гость
« Ответ #1 : Февраля 13, 2017, 16:53 »

А дело оказалось решалось очень просто, чтобы флаги и атрибуты заработали нужно было в настройках тем рабочего стола включить композит менеджер, а у него соответственно тени и прозрачность.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Февраля 13, 2017, 20:33 »

И что, каждый юзер будет этим заниматся ради одной программы?
Записан

Юра.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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