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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как убрать "уголки" у custom QMenu под Linux  (Прочитано 3649 раз)
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.042 секунд. Запросов: 22.